如何以epoch整数格式查找上个月的开始,结束日期

时间:2013-12-17 00:28:09

标签: sql sql-server

我正在使用下面的查询,它以DATETIME格式为我找到上个月最后一天的正确结果。

SELECT (DATEADD(dd,-(DAY(GETDATE())),GETDATE()))

但是,我希望结果采用epoch整数DATETIME格式。任何人都知道如何获得它?

我在使用MSSQL - 2012 DBMS

1 个答案:

答案 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())))