【发布时间】:2016-07-03 03:35:29
【问题描述】:
供应商要求我将 SQL Server DateTime 值转换为以下特定时间戳格式 %Y-%m-%d %H:%M:%OS4 %z。查询将被放入他们的软件中以查询我的数据库。
所需的输出似乎与 R 中的 posixct question 模糊相关;但这是关于 SQL Server 中的输出。除了该字段在他们的软件中显示为空白之外,我没有得到任何具体错误,但它在我的 SQL 界面中有效。
我从 SQL 得到的输出如下:
2016-03-16 00:00:00.000
像这样的另一列的输出varchar(30) 和2016-03-16 11:34:36 没有问题,因为它只是将其视为一个字符串 WHEN 映射到一个字符串字段.. 但要处理它需要在引用%Y-%m-%d %H:%M:%OS4 %z 格式。
除了数据类型之外,这些差异似乎很微妙,但即使映射到字符串字段,它也无法将 SQL 原生输出映射到其中一个字段。
例如我已经尝试过
cast(convert(datetime, tn.last_settled, 126) as Varchar(30))
在datetime 上,但这会导致Jan 1 1990 12:00AM 而不是所需的格式。
如何从 T-SQL 中的 SQL Server datetime 格式将所需的字符串 2016-03-16 11:34:36 和 datetime 2016-03-16 00:00:00.000 格式转换为所需的 %Y-%m-%d %H:%M:%OS4 %z 格式?
【问题讨论】:
-
听起来他们已经编写了他们的应用程序来解析字符串,而不是使用日期时间(也许它们来自一个本身不处理日期时间的数据库)。您使用的是什么版本的 SQL Server?
-
@lc。我正在运行 SQL 2012
标签: sql-server tsql datetime sql-server-2012