一尘不染

如何在SQL中选择一个月的第一天?

sql

我只需要选择给定datetime变量的月份的第一天。

我知道使用这种代码非常容易:

select CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) 
+ '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME)

但这不是很优雅,也可能不是很快。

有一个更好的方法吗?我正在使用SQL Server 2008。


阅读 104

收藏
2021-05-05

共1个答案

一尘不染

SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth
2021-05-05