我只需要选择给定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