我只需要从 SQL Server 中的日期字段访问 Month.Year。
除了已经给出的建议外,我还可以从您的问题中推断出另一种可能性: -您仍然希望结果是日期 -但您想“丢弃”天数、小时数等 -留下一年/月仅日期字段
SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field] FROM <your_table>
这将获取从基准日期 (0) 开始的整月数,然后将它们添加到该基准日期。因此向下舍入到日期所在的月份。
注意:在 SQL Server 2008 中,您仍会将 TIME 附加为 00:00:00.000 这与完全“删除”任何日期和时间表示法并不完全相同。也将 DAY 设置为第一个。例如 2009-10-01 00:00:00.000