
数据库里把时间存成了int类型如上图的,我想通过sql语句select到 “ 2013-09-29 14:57:06”,
而且如果时间是上午的话TranTime会少一位数,如94412,正常应该是094412;
请问怎么转换才有这种格式,有没有什么办法直接可以一句select出来,
应为查询的结果集里要 “ 2013-09-29 14:57:06”这种格式
------解决方案--------------------
right(‘000000’+cast(TranTime as varchar(6)),6)
------解决方案--------------------
试试这个:
select convert(varchar(10),cast(cast(Trandate as varchar) as datetime),120)+' '+
left(right('000000'+rtrim(TranTime),6),2) + ':'+
substring(right('000000'+rtrim(TranTime),6),3,2)+':'+
right('000000'+rtrim(TranTime),2) as v
from
(
select 20130929 as TranDate,145706 as TranTime
union all
select 20130929,94412
)t
/*
v
2013-09-29 14:57:06
2013-09-29 09:44:12
*/