Oltre ai suggerimenti già forniti, c'è un'altra possibilità che posso dedurre dalla tua domanda:
- Vuoi ancora che il risultato sia una data
- Ma vuoi 'scartare' i giorni, le ore , ecc
- Lasciando un campo data solo anno/mese
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
Questo ottiene il numero di mesi interi da una data di base (0) e quindi li aggiunge a quella data di base. Arrotondando così per difetto al mese in cui si trova la data.
NOTA:in SQL Server 2008, avrai ancora l'ORA allegato come 00:00:00.000Questo non è esattamente lo stesso che "rimuovere" tutte le annotazioni di giorno e ora del tutto. Anche il GIORNO è impostato sul primo. per esempio. 01-10-2009 00:00:00.000