Förutom de förslag som redan givits finns det en annan möjlighet som jag kan sluta mig till från din fråga:
- Du vill fortfarande att resultatet ska vara ett datum
- Men du vill "kassera" Dagarna, timmarna , etc
- Lämna endast ett år/månad datumfält
SELECT
DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
<your_table>
Detta får antalet hela månader från ett basdatum (0) och lägger sedan till dem till det basdatumet. Avrundar alltså nedåt till den månad då datumet är i.
OBS:I SQL Server 2008 kommer du fortfarande att ha TIME kopplad till 00:00:00.000. Detta är inte exakt samma sak som att "ta bort" alla noteringar av dag och tid helt. t.ex. 2009-10-01 00:00:00.000