我怎样才能在SQL中选择一个月的第一天?
我只需要选择给定日期时间变量的月份的第一天。
我知道使用这种代码很容易:
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
除了上述所有答案之外,还有一种基于sql 2012
引入的函数的方法
SELECT DATEFROMPARTS(YEAR(@mydate),MONTH(@mydate),1)
SQL Server 2008:
SELECT DATEADD(DAY,1,EOMONTH(@mydate,-1))
链接地址: http://www.djcxy.com/p/94365.html
上一篇: How can I select the first day of a month in SQL?
下一篇: Best approach to remove time part of datetime in SQL Server