我正在使用下面的查询,它以DATETIME格式为我找到上个月最后一天的正确结果。
SELECT (DATEADD(dd,-(DAY(GETDATE())),GETDATE()))
但是,我希望结果采用epoch整数DATETIME格式。任何人都知道如何获得它?
我在使用MSSQL - 2012 DBMS
答案 0 :(得分:2)
您可以使用DATEDIFF()
功能获取从一个日期到另一个日期的天数:
SELECT DATEDIFF(day,CAST(0 AS DATETIME),(DATEADD(dd,-(DAY(GETDATE())),GETDATE())))
此外,您可以使用EOMONTH()
函数获取SQL 2012中一个月的最后一天:
SELECT DATEDIFF(day,CAST(0 AS DATETIME),EOMONTH(DATEADD(month,-1,GETDATE())))
您的纪元起点可以调整,但0是SQL Server中的自然跳跃点。
更新:如果您希望'1970-01-01'成为您的开始日期,并希望它在几秒而不是几天内:
SELECT DATEDIFF(second,'19700101',EOMONTH(DATEADD(month,-1,GETDATE())))