小编典典

从 SQL DATE 仅获取月份和年份

all

我只需要从 SQL Server 中的日期字段访问 Month.Year。


阅读 101

收藏
2022-08-02

共1个答案

小编典典

除了已经给出的建议外,我还可以从您的问题中推断出另一种可能性:
-您仍然希望结果是日期
-但您想“丢弃”天数、小时数等
-留下一年/月仅日期字段

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

2022-08-02