【问题标题】:Can't add time to the DATEOFFSET(2) in SQL Select无法在 SQL Select 中向 DATEOFFSET(2) 添加时间
【发布时间】:2018-11-03 23:39:18
【问题描述】:

我需要将数据库上的日期时间字段转换为使用“T”和祖鲁时间进行 XML 输出。我得到了将日期时间字段转换为日期的部分,然后将其转换为祖鲁时间,并在输出中添加了“T”:

, CONVERT(VARCHAR(30), CAST(CONVERT(DATE,OEO.ScheduledShipDate) AS DATETIMEOFFSET(2)), 127) AS ScheduledEarlyPickup

这个的输出是这样的:

2001-02-11T00:00:00Z
2001-06-13T00:00:00Z
2001-11-21T00:00:00Z
2001-12-03T00:00:00Z
2002-02-16T00:00:00Z
2002-03-27T00:00:00Z
2002-04-05T00:00:00Z
2002-04-12T00:00:00Z

现在我需要将其更改为 hh:mm:ss 显示 23:59:00 的效果,例如:

2001-02-11T23:59:00Z
2001-06-13T23:59:00Z
2001-11-21T23:59:00Z
2001-12-03T23:59:00Z
2002-02-16T23:59:00Z
2002-03-27T23:59:00Z
2002-04-05T23:59:00Z
2002-04-12T23:59:00Z

我认为像下面这样的简单代码可以完成这项工作,但我不确定为什么数据保持不变:

CONVERT(VARCHAR(30), CAST(CONVERT(DATE,OEO.ScheduledShipDate+'23:59:00') AS DATETIMEOFFSET(2)), 127)

感谢任何想法。

谢谢, 房车

【问题讨论】:

    标签: sql-server tsql datetime


    【解决方案1】:

    没关系。有一个我没有注意的简单语法错误。如果有人需要这个,代码是:

    ,CONVERT(VARCHAR(30), CAST(OEO.ScheduledShipDate + '23:59:00' AS DATETIMEOFFSET(2)), 127)
    

    【讨论】:

      猜你喜欢
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 2017-06-21
      • 2018-09-17
      • 2016-09-23
      • 2021-11-18
      相关资源
      最近更新 更多