2017-03-22 75 views
0

在我現有的SQL Server數據庫中,有這樣一列:轉換12小時至24小時,從VARCHAR列在SQL Server

  • 列名和類型:存儲meeting_time varchar(22)
  • 值:02:30:PM

現在我想將其轉換爲24小時格式。即,它應該轉換爲14.30

當我嘗試這樣做:

SELECT 
    CONVERT(VARCHAR(8), meeting_time, 1) 
FROM 
    group_info 
WHERE 
    MGI_Id = 1 

它將返回其存儲在此列中的值相同。當我嘗試將它轉換爲時間或日期時間時,它會拋出異常。

誰能幫幫我吧!

在此先感謝。

+1

最好的解決方案是停止將時間信息存儲爲varchar。 –

+0

@SeanLange:它實際上是爲了遷移的目的。現有的數據庫就像那樣。 – Tamil

+0

時間過後你真的有冒號嗎? –

回答

2

這應該工作:如果

select convert(time, stuff(meeting_time, 6, 1, ' ')) 

不知道它與所有的語言環境/語言的作品,所以你應該檢查第一。

這假定您的日期總是在相同的格式,額外的:是在第六個字符。

+2

擊敗我大約15秒。 :d –

相關問題