在 SQL Server 中添加时间戳到日期

Posted

技术标签:

【中文标题】在 SQL Server 中添加时间戳到日期【英文标题】:Add time stamp to date in SQLserver 【发布时间】:2014-06-03 18:08:45 【问题描述】:

Below 获取当前日期的最后一个星期一。

 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() 时间戳的确切上周一日期也可以。

感谢您的帮助!

【问题讨论】:

再做一次DATEADD,再增加6个小时。 【参考方案1】:

增加 6 小时

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

【讨论】:

【参考方案2】:

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

这将以以下格式显示:

MM-DD-YYYY 06:00:00

并且仍然获取你想要的最后一个星期一的日期。

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

【讨论】:

以上是关于在 SQL Server 中添加时间戳到日期的主要内容,如果未能解决你的问题,请参考以下文章

从时间戳到正常日期[重复]

Python:从时间戳到日期时间

PHP时间戳到DateTime

SQL Server 2008 行插入和更新时间戳

SQL Server 默认日期时间戳?

Unix 时间戳到 PHP 年月日转换关闭