微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 2 个字符串列日期和时间转换为一个时间戳

如何解决如何将 2 个字符串列日期和时间转换为一个时间戳

我有两列(都是字符串)的表:

| Dates    | Times          |

| -------- | -------------- |

|20210401  | 121012         |

|20210401  | 121024         |

我想以时间戳格式将这些列合并为一列:

YYYY-MM-DD HH:MM:SS

我试过了,但这是错误的:

CONVERT(datetime,CONVERT(CHAR(8),DATES,112) + ' ' + CONVERT(CHAR(6),TIMES,108))

解决方法

SQL Server 允许您添加 datetime 值,因此这是一种方便的数据类型。

将日期转换为 datetime 很容易——它是标准格式。

时间列更复杂,但您可以添加 ':' 以进行转换:

select v.*,convert(datetime,v.date) + convert(datetime,stuff(stuff(time,5,':'),3,':'))
from (values ('20210401','121012')) v(date,time);
,
convert(datetime,DATES + ' ' + substring(TIMES,1,2) + ':' + substring(TIMES,2),121)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。