yyyy MM ddTHH:MM:ss.SSSZ格式在sql server中

yyyy MM ddTHH:MM:ss.SSSZ格式在sql server中,sql,sql-server,Sql,Sql Server,我有2017年9月9日8:25:02 PM格式的datetime,我需要在SQL中以yyyy-MM-ddTHH:MM:ss.SSSZ格式输出 还需要时区,如:-05:00或+05:50 e、 g。 日期时间:2016-02-02T12:44:18.7832703Z 时区:-06:00适用于您应该使用的时区,而不是日期时间 对于字符串的格式,必须使用SQL中预定义的格式之一 例如: SELECT convert(varchar(50), dateoff (Column containing the

我有2017年9月9日8:25:02 PM格式的datetime,我需要在SQL中以yyyy-MM-ddTHH:MM:ss.SSSZ格式输出

还需要时区,如:-05:00或+05:50

e、 g。 日期时间:2016-02-02T12:44:18.7832703Z
时区:-06:00

适用于您应该使用的时区,而不是日期时间

对于字符串的格式,必须使用SQL中预定义的格式之一 例如:

SELECT convert(varchar(50), dateoff (Column containing the DatetimeOffset), 127) 

无法将SQL Server日期格式转换为Java日期格式

你可以试试Java来看看

SQL中最接近的是使用TODATETIMEOFFSET,该函数的问题是您需要知道日期的时区

DECLARE @Timezone int = Datediff(MINUTE, GETUTCDATE(),getdate())
SELECT  CONVERT(datetimeoffset(0), TODATETIMEOFFSET (convert(datetime, '2/2/2017 12:44:18 PM'),@Timezone),127) [datetimeoffset(0)], Convert(varchar(50),  
TODATETIMEOFFSET (convert(datetime, '2/2/2017 12:44:18 PM'),@Timezone),127)[datetime]


datetimeoffset(0)                  datetime
---------------------------------- --------------------------------------------------
2017-02-02 12:44:18 -04:00         2017-02-02T16:44:18Z

DATETIME没有格式。您是否将它们存储为VARCHAR?另外,什么时区有+05:50…?在谷歌上快速搜索SQL Server format date,可以在从数据中选择时显示一些转换和格式化值的选项和示例。你试过什么?@Siyual我不知道哪一个是+5:50,但有一些奇怪的。就像纽芬兰,时间是-3:30。我猜这半小时的平均值是30,打字是50如何将2017年2月2日下午12:44:18转换为2016-02-02T12:44:18.7832703Z什么是日期?这不是有效的t-sql函数。如何将2017年2月2日12:44:18 PM转换为2016-02-02T12:44:18.7832703Z。如何将2017年2月2日12:44:18 PM转换为2016-02-02T12:44:18.7832703Z无法将sql Server日期格式转换为Java日期格式