Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
334 views
in Technique[技术] by (71.8m points)

sql - 如何在SQL中选择一个月的第一天?(How can I select the first day of a month in SQL?)

I just need to select the first day of the month of a given datetime variable.

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

I know it's quite easy to do using this kind of code:

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

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

But this is not very elegant, and probably not very fast either.

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

Is there a better way to do this?

(有一个更好的方法吗?)

I'm using SQL Server 2008.

(我正在使用SQL Server 2008。)

  ask by Brann translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS StartOfMonth

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

56.8k users

...