我只需要选择给定 DateTime 变量的月份的第一天。
我知道使用这种代码很容易做到:
select CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) + '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME)
但不幸的是,这不是很优雅,也不是很快。
有一个更好的方法吗?我正在使用 SQL Server 2008。
SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth