【发布时间】:2019-07-07 22:56:20
【问题描述】:
我有代表军事时代的 varchars:
a 2130 -- 21 hours
b 103 -- 1 hour
c 10 -- 10 minutes
d 1 -- 1 minutes
左边的两个字符总是代表分钟。在示例中,10 和 1 以上的 c 和 c 始终是分钟。示例 b 103 有三个字符。 1 是小时 03 在这种情况下是分钟。
如何将其转换为时间 hh:mm 格式?
【问题讨论】:
-
喜欢
STUFF(RIGHT('0000' + str, 4), 3, 0, ':')? -
103如何等于“1小时”?
-
你的意思是右边的两个字符代表分钟吗?
-
看看我的答案,它也适用于数据类型 varchar。
-
您想要一个
time值还是只需要一个具有该格式的字符串? SQL Server 的版本也很重要。
标签: sql-server tsql sql-server-2008-r2 type-conversion