标签: sql sql-server date ssms
我有一个包含客户列表的表,其中一列显示其帐户的创建日期。我想做这个日期的最后一天。我尝试使用EOMONTH函数,但它不起作用。
例如,如果客户1在1月6日到来,客户2在今年2月6日到来,我希望它显示31-01-2018和28-02-2018。
有什么想法吗?
感谢。
答案 0 :(得分:0)
Gordon是对的,我已经针对您的给定数据尝试了EOMONTH并且它返回了完整的值,如下所示,在第二个参数中,如果您将值传递为1,则必须根据需要传递值会给你下个月的最后日期,即Jan + 1 = Feb
EOMONTH
1
DECLARE @myDate Datetime='06-Jan-2018' SELECT EOMONTH(@myDate,0) AS MyDate
如果您的版本不支持EOMONTH功能,请尝试以下查询:
SELECT CAST(DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@myDate)+1,0)) AS DATE)
输出: