Vis*_*abu 3 sql time-format sql-server-2012
这怎么可能存储在东西转换DB为varchar(6)(例如,180000这实际上是在一种格式HHmmss)来的时候,我尝试以下,但不会工作
select convert(time,'180000')
select cast('180000' as time)
Run Code Online (Sandbox Code Playgroud)
另一种方法
DECLARE @t VARCHAR(6)='180000';
SELECT CAST(STUFF(STUFF(@t,5,0,':'),3,0,':') AS time)
Run Code Online (Sandbox Code Playgroud)
感谢@SebtHU,他指出,在09:15:00或等时间使用前导零时,这不起作用00:45:00。您可以改用它:
SELECT CAST(STUFF(STUFF(RIGHT(CONCAT('000000',@t),6),5,0,':'),3,0,':') AS time);
Run Code Online (Sandbox Code Playgroud)