在SQL Server中添加时间戳到目前为止

时间:2014-06-03 18:08:46

标签: sql sql-server datetime sql-server-2012

下面取出当前日期的最后一个星期一。

 SELECT cast (DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 0) as datetime)

但它显示日期为时间戳全部为零

2014-05-26 00:00:00.000

我想时间戳是这样的上午6点

05-26-2014 06:00:00

或者即使我使用当前的GETDATE()时间戳得到确切的最后一个星期日日期也没问题。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

增加6小时

 SELECT cast (DATEADD(HH,6,DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 0)) as datetime)

答案 1 :(得分:1)

您可以使用众多built-in formats之一进行转换。

这将以以下格式显示:

  • MM-DD-YYYY 06:00:00

仍然可以获取您想要的上一个星期一日期。

SELECT CONVERT(VARCHAR, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 0), 110) + ' 06:00:00'