我正在尝试将时间格式从YYYYMMDD-HHMM
和YYYYMMDD
转换为mm/dd/yyyy hh:mm
。我的问题是数据不一致。下面是一些例子:
20200814-1230
20200814-1230
20200814
20200814
我尝试使用:
CONVERT(datetime,LEFT(id,8),120) + ' ' +
LEFT(RIGHT(ID , 6) ,2) + ':' +
SUBSTRING(RIGHT(ID , 6) , 3,2),
但问题是有些数据没有时间。
你可以这样做:
declare @dt varchar(100) = '20200814-1230'
select
substring(@dt, 5,2) + '/' +
substring(@dt, 7,2) + '/' +
substring(@dt, 1,4) +
case
when len(@dt) > 8 then
' ' +
substring(@dt, 10,2) + ':' +
substring(@dt, 12,2)
else ''
end