获取SQL Server Management Studio中已存在日期的最后一天

时间:2018-02-14 12:23:07

标签: sql sql-server date ssms

我有一个包含客户列表的表,其中一列显示其帐户的创建日期。我想做这个日期的最后一天。我尝试使用EOMONTH函数,但它不起作用。

例如,如果客户1在1月6日到来,客户2在今年2月6日到来,我希望它显示31-01-2018和28-02-2018。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

Gordon是对的,我已经针对您的给定数据尝试了EOMONTH并且它返回了完整的值,如下所示,在第二个参数中,如果您将值传递为1,则必须根据需要传递值会给你下个月的最后日期,即Jan + 1 = Feb

 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)

输出:

enter image description here