又是我,我有一个来自Microsoft SQL Server (通过Microsoft SQL Server Management Studio)的输出,比如这个20200820112518RS,我正在尝试将它转换成一个有用的日期,比如dd:MM:ss,但是我尝试的每一次都会出错。什么起作用:
CAST(DTS as varchar(14))给了我20200820112518 CAST(DTS as datetime)错误:
从字符串转换日期和/或时间时,
转换失败。
CONVERT(carchar(14),DTS,120)给了我20200820112518 CONVERT(varchar,(CAST(DTS as varchar(14))),121)给了我同样的
发布于 2020-08-20 13:51:03
错误告诉您问题'20200820112518RS'显然不是有效的日期和时间值。
我假设20200820112518部分表示日期,所以您需要将其格式化为ISO格式,特别是yyyy-MM-ddThh:mm:ss格式。一种方法是用STUFF注入字符,但这会变得很麻烦,因为您需要这么多:
SELECT CONVERT(datetime,STUFF(STUFF(STUFF(STUFF(STUFF(LEFT(V.DTS,14),13,0,':'),11,0,':'),9,0,'T'),7,0,'-'),5,0,'-'))
FROM (VALUES('20200820112518RS'))V(DTS)https://stackoverflow.com/questions/63506313
复制相似问题