-1

我有一个从 XML 解析的字符串,它代表日期时间。字符串格式为:'20200915114000' - (YYYYMMDDhhmmss)

SQL Server 中是否有一个函数可以将此字符串转换或解析为日期时间,还是应该手动拆分字符串并将其连接到日期时间?

4

2 回答 2

0

我的问题的解决方案:

declare @sDate char(14), @sDateOK char(20)

set @sDate = '20200915114000'    
set @sDateOK = substring(@sDate,1,8) + ' ' + substring(@sDate,9,2) + ':' +  substring(@sDate,11,2) + ':' +  substring(@sDate,13,2)

select convert(datetime,@sDateOK ) as Date
于 2020-09-18T07:11:32.940 回答
0

如何做到这一点,分 3 个步骤:

C:\> SQLCMD
1> select convert(datetime,'20200915114000' )
2> go
Msg 241, Level 16, State 1, Server ZES, Line 1
Conversion failed when converting date and/or time from character string.
1> select convert(datetime,'20200915 114000' )
2> go
Msg 242, Level 16, State 3, Server ZES, Line 1
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
1> select convert(datetime,'20200915 11:40:00' )
2> go

-----------------------
2020-09-15 11:40:00.000

(1 rows affected)
1>

结论您需要在要转换'20200915114000'为的字符串中添加一个空格和 3 个“:” '20200915 11:40:00'。在此之后,一个简单的 CONVERT 就可以解决问题。

于 2020-09-18T06:48:54.603 回答