我有一个sql数据库,其中时钟输入时间显示为军事时间,但以数字格式显示。例如。 907
是09:07am
或1514
是15:14pm
有什么方法可以在SQL中转换它?
目前,我输出到excel,并使用以下公式进行计算,但希望使用SQL进行所有操作
TIMEVALUE(LEFT(IF(LEN(L30)=4,L30,CONCATENATE(0,L30)),2)&":"&MID(IF(LEN(L30)=4,L30,CONCATENATE(0,L30)),3,2)&":"&RIGHT(IF(LEN(L30)=4,L30,CONCATENATE(0,L30)),2))
任何适合您的
谢谢
答案 0 :(得分:0)
如果要将输出作为time
值:
select convert(time, dateadd(second, t/100 * 60 + t % 100, 0))
from (values (907), (1514)) v(t);
如果只想返回一个字符串:
select stuff(right('0' + convert(varchar(255), t), 4), 3, 0, ':')
from (values (907), (1514)) v(t);