我发现一些帖子(例如SQL Query to find the last day of the month、Get the last day of the month in SQL)可以获得这个月的最后一天,但是有没有办法确定一个日期是否是这个月的最后一天?
例如,如果我有一张这些日期的列表-
8/29/2015 --fail
8/30/2015 --fail
8/31/2015 --pass
9/1/2015 --fail
我如何编写一个查询来确定哪些日期通过/失败呢?我不能简单地测试DAY()是否= 31,因为月份中的天数并不都相同。
4条答案
按热度按时间mrwjdhj31#
如果您使用的是SQL Server 2012或更高版本,请使用
EOMONTH
:mzaanser2#
我想到两种简单的方法,第一种是:
此函数测试testDate之后的1天是否福尔斯在testDate当前所在月份之外的月份。如果是,testDate必须是当前月份的最后一天。
第二个问题是:
这是一个类似的测试,但方式不同。如果testDate之后的1天是一个月的第一天,那么testDate必须是该月的最后天。
jpfvwuh43#
试试这个
vhmi4jdf4#
在SQL Server 2012或更高版本中处理日期时间时,我最喜欢的方式: