首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL DTS转换

SQL DTS转换
EN

Stack Overflow用户
提问于 2020-08-20 13:36:47
回答 1查看 144关注 0票数 0

又是我,我有一个来自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)给了我同样的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-20 13:51:03

错误告诉您问题'20200820112518RS'显然不是有效的日期和时间值。

我假设20200820112518部分表示日期,所以您需要将其格式化为ISO格式,特别是yyyy-MM-ddThh:mm:ss格式。一种方法是用STUFF注入字符,但这会变得很麻烦,因为您需要这么多:

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63506313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档