我有两个vchar字段,分别包含日期和时间作为文本/字符串。
即 Fdate(YYYYmmdd(:20170402 Ftime(HHmmss(: 103101
我将如何连接它们并转换为日期时间?
转换日期是可以完成的,但我遇到的问题是在添加时间时。
提前谢谢你,
您可以使用stuff()
将varchar时间格式转换为日期时间格式:
select Fdate + cast(stuff(stuff(Ftime, 3, 0, ':'), 6, 0, ':') as datetime) as datetime
SELECT DATETIMEFROMPARTS ( substring('20170402',1,4) , substring('20170402',5,2), substring('20170402',7,2), substring('103101',1,2), substring('103101',3,2), substring('103101',5,2) , substring('103101',7,2) )
输出
2017-04-02 10:31:01.000
你可以使用这个:
Select cast (substring(Fdate,0,5)+'-'+
substring(Fdate,5,2)+'-'+
substring(Fdate,7,2)
+ ' ' +
substring(Ftime,0,3) + ':' +
substring(Ftime,3,2) + ':' +
substring(Ftime,5,2)
as datetime)
输出:
yyyy-MM-dd hh:mm:ss