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

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

我只需要选择给定日期时间变量的月份的第一天。

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

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

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

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


慕慕森
浏览 869回答 3
3回答

郎朗坤

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

幕布斯7119047

除了以上所有答案外,还有一种基于功能介绍的方法 sql 2012SELECT DATEFROMPARTS(YEAR(@mydate),MONTH(@mydate),1)

慕斯709654

从SQL Server 2012开始:SELECT DATEADD(DAY,1,EOMONTH(@mydate,-1))
打开App,查看更多内容
随时随地看视频慕课网APP