2015-04-01 56 views
-1

我有時間04:02:00,我使用SQL Server轉換HH:MM:SS以HH:MM在SQL Server

我已經試過這個代碼希望它只是爲4:02

@time time 
set @time ='04:02:00' 

SELECT RIGHT(convert(varchar, @time, 100), 8) 

它產生輸出:

4:02AM 

請幫助..

感謝

+0

你知道什麼你的代碼中的'100'意味着什麼? – 2015-04-01 06:01:11

+0

是的,它給時間成hh:ss tt格式 – 2015-04-01 06:05:36

+3

它給你我們的日期格式與am/pm添加,可能你需要'108'而不是 – 2015-04-01 06:06:40

回答

2

您可以使用DATEPART,並從那裏串連:

SELECT 
    RIGHT('00' + CONVERT(VARCHAR(2), DATEPART(HOUR, @time)), 2) + ':' 
    + RIGHT('00' + CONVERT(VARCHAR(2), DATEPART(MINUTE, @time)), 2) 

通知的RIGHT('00' + ..., 2),這是墊hourminute部分與領先的零,以便它會很長兩個字符,例如4成爲04

+0

thak你@wewesthemenace它可以幫助我得到正確的輸出 – 2015-04-01 06:53:29

+0

沒問題,很高興我能幫上忙。 – 2015-04-01 06:56:30

5

您可以使用:

DECLARE @dt DATETIME 
    SET @dt = GETDATE() 
    SELECT CONVERT(varchar(5),@dt,108) 

該查詢給出的結果格式 'HH:MM'。

希望它有幫助。

+0

是的你是對的。您可以使用108或114來獲得HH:MM的時間:SS – 2015-04-01 06:07:26

3

DECLARE @time日期時間 集@time = '04:02:00'

SELECT LEFT(RIGHT(轉換(VARCHAR,@time,100),8),6)

+0

使用左側選擇具體的值。雖然@Artyom Pranovich答案是好的 – 2015-04-01 10:51:25