将 Varchar(6) 重新格式化为时间格式
Reformat Varchar(6) into Time format
我有一列以“时间”作为值,但它是作为 varchar(6) 类型引入的。
有什么好的方法可以将其转换为 HH:MM:SS 格式吗?
示例数据 (TimeField) 和我想要的 (NewTime),或者可以只是小时 (HourOnly)
TimeField NewTime HourOnly
102157 10:21:57 10 am
071740 07:17:40 7 am
000602 00:06:02 12 am
225058 22:50:58 10 pm
感谢您的帮助!
只需使用字符串函数和timefromparts()
:
timefromparts(left(timefield, 2), substring(timefield, 3, 2), right(timefield, 2))
如果你只想要小时部分,那就更简单了:
left(timefield, 2) -- as a string
cast(left(timefield, 2) as int) -- as an integer
我有一列以“时间”作为值,但它是作为 varchar(6) 类型引入的。 有什么好的方法可以将其转换为 HH:MM:SS 格式吗? 示例数据 (TimeField) 和我想要的 (NewTime),或者可以只是小时 (HourOnly)
TimeField NewTime HourOnly
102157 10:21:57 10 am
071740 07:17:40 7 am
000602 00:06:02 12 am
225058 22:50:58 10 pm
感谢您的帮助!
只需使用字符串函数和timefromparts()
:
timefromparts(left(timefield, 2), substring(timefield, 3, 2), right(timefield, 2))
如果你只想要小时部分,那就更简单了:
left(timefield, 2) -- as a string
cast(left(timefield, 2) as int) -- as an integer