SqlServer時間格式不足2位補0


 

CREATE FUNCTION [dbo].[FULL_TIME](@Times NVARCHAR(50))
 RETURNS NVARCHAR(50)
 AS
 BEGIN
 DECLARE @return NVARCHAR(50)
 SET @return =(
  select case len(SUBSTRING(@Times,0,CHARINDEX(':', @Times, 0)))
 when 1
 then '0'+SUBSTRING(@Times,0,CHARINDEX(':',@Times, 0))
  else SUBSTRING(@Times,0,CHARINDEX(':',@Times, 0)) end
  +':'+case LEN(SUBSTRING(@Times,CHARINDEX(':', @Times, 0)+1,
 (CHARINDEX(':', @Times, CHARINDEX(':',@Times, 0)+1)-CHARINDEX(':',@Times, 0))-1) )
  when 1
  then '0'+SUBSTRING(@Times,CHARINDEX(':', @Times, 0)+1,
 (CHARINDEX(':', @Times, CHARINDEX(':',@Times, 0)+1)-CHARINDEX(':',@Times, 0))-1)
  else SUBSTRING(@Times,CHARINDEX(':', @Times, 0)+1,
 (CHARINDEX(':',@Times, CHARINDEX(':',@Times, 0)+1)-CHARINDEX(':',@Times, 0))-1)  end
 +':'+
 case LEN(SUBSTRING(@Times,CHARINDEX(':',@Times, CHARINDEX(':',@Times, 0)+1)+1,5))
 when 1
 then '0'+SUBSTRING(@Times,CHARINDEX(':',@Times, CHARINDEX(':',@Times, 0)+1)+1,5)
 else SUBSTRING(@Times,CHARINDEX(':', @Times, CHARINDEX(':', @Times, 0)+1)+1,5) end )
 RETURN @return
 END

 select dbo.FULL_TIME('3:1:2')  --結果:  03:01:02


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM