首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL-将varchar(8)转换为时间格式

SQL-将varchar(8)转换为时间格式
EN

Stack Overflow用户
提问于 2015-11-05 18:15:29
回答 2查看 2.4K关注 0票数 1

时间被保存为varchar(8)格式,比如: 09241324,我想把它转换成时间格式。我可以去掉最后一个nn,这样hh:mm:ss就可以工作了。我试过使用cast/convert,但这是抛出错误:

从字符串转换日期和/或时间时,转换失败。

有人能帮帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2015-11-05 18:26:27

这个能行吗?

代码语言:javascript
复制
convert(time, stuff(stuff(stuff(dt, 3, 0, ':'), 6, 0, ':'), 9, 0, '.'))

cast通常比convert更受欢迎,但我并不确定您是否需要指定格式代码。

如果没有毫秒,则类似:

代码语言:javascript
复制
convert(time, stuff(stuff(stuff(dt, 3, 0, ':'), 6, 0, ':'), 9, 2, '.00'))
票数 3
EN

Stack Overflow用户

发布于 2015-11-05 18:26:18

插入时间格式化部分(冒号:和小数点)。),并将其作为时间:

代码语言:javascript
复制
DECLARE @string VARCHAR(10)
SET @string = '09241324'
SELECT CAST(
    SUBSTRING(@string,1,2) + ':' +
    SUBSTRING(@string,3,2) + ':' +
    SUBSTRING(@string,5,2) + '.' +
    SUBSTRING(@string,7,2) AS TIME)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33551893

复制
相关文章

相似问题

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