Oprócz podanych już sugestii, jest jeszcze jedna możliwość, którą mogę wywnioskować z twojego pytania:
- Nadal chcesz, aby wynikiem była data
- Ale chcesz „odrzucić” Dni, Godziny , itp
- Pozostawienie pola daty tylko dla roku/miesiąca
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
Pobiera liczbę pełnych miesięcy od daty bazowej (0), a następnie dodaje je do tej daty bazowej. W ten sposób zaokrąglamy w dół do miesiąca, w którym jest data.
UWAGA:W SQL Server 2008 nadal będzie dołączony TIME jako 00:00:00.000. Nie jest to dokładnie to samo, co całkowite usunięcie wszelkich zapisów dnia i godziny. Również DAY ustawiony na pierwszy. np. 2009-10-01 00:00:00.000