我有一个专门声明为int
(称为HourMil)的列,它将时间存储在military format中。我需要这个值转换为字符串格式化(HH:MM)将军事时间转换为字符串表示
例如
HourMil = 710 -> must be 07:10
HourMil = 1305 -> must be 13:05
其实我使用此代码(与工作正常)的列HourMil转换为字符串表示。
SELECT SUBSTRING(LEFT('0',4-LEN(CAST(HourMil AS VARCHAR)))+CAST(HourMil AS VARCHAR),1,2)+':'+SUBSTRING(LEFT('0',4-LEN(CAST(HourMil AS VARCHAR)))+CAST(HourMil AS VARCHAR),3,2) FROM MYTABLE
但我认为这个代码可以改进。
什么版本的SQL Server? – 2010-06-08 22:11:12
事实上,这种“军事”格式(24小时制)是世界上绝大多数人使用的 - “除美国外的所有人”,为什么不把它称为“国际”或“标准“ 时间 ?? – 2010-06-09 05:10:23