Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Obtendo apenas mês e ano do SQL DATE


Além das sugestões já dadas, há uma outra possibilidade que posso inferir da sua pergunta:
- Você ainda quer que o resultado seja uma data
- Mas você quer 'descartar' os Dias, Horas , etc
- Deixando um campo de data somente ano/mês
SELECT
   DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
   <your_table>

Isso obtém o número de meses inteiros de uma data base (0) e os adiciona a essa data base. Assim, arredondando para baixo para o mês em que a data está inserida.

NOTA:No SQL Server 2008, você ainda terá o TIME anexado como 00:00:00.000 Isso não é exatamente o mesmo que "remover" qualquer notação de dia e hora completamente. Também o DAY definido como o primeiro. por exemplo. 2009-10-01 00:00:00.000