簡體   English   中英

如何將varchar轉換為hh:mm:ss的日期時間格式?

[英]How can I convert a varchar to a datetime format of hh:mm:ss?

我從查詢返回以下結果:

2030
1200
1400
1545

有沒有辦法在SQL(SQL Server)中將其轉換為hh:mm:ss格式的時間?

例如,以上條目將轉換為以下形式:

2030 = 20:30:00
1200 = 12:00:00
1400 = 14:00:00
1545 = 15:45:00

任何幫助是極大的贊賞。

您需要stuff()

select cast(stuff(2030, 3, 0, ':') as time(0))

如果查詢返回字符串號,則可以使用:

. . .
where charindex ('.', n) = 0;

您可以創建一個類似以下的函數:

CREATE FUNCTION ToTime(@myInput nvarchar(4))  
RETURNS nvarchar(7)
AS   
-- Returns the input as valid time string 
BEGIN  
    DECLARE @ret nvarchar(7);              
        SET @ret = SUBSTRING(@myInput,1,2)+':'+ SUBSTRING(@myInput,3,2)+':00'
    RETURN @ret;  
END; 

並致電:

SELECT ToTime(2030);
SELECT ToTime(1200);
...

使用FORMAT

select format(2030 * 100,'##:##:##')

有關FORMAT更多信息,請點擊此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM