2011-11-14 50 views
6

我使用SQL Server 2000中轉換日期時間獲得HHMM

convert(varchar(20), getdate(), 112) 

轉換GETDATE()來爲yyyymmdd格式(ISO格式),它的偉大工程。現在我需要做類似的事情來獲得hhmm格式的時間。我怎樣才能做到這一點?

例子:下午12:10應該像1210,下午3點43分應該像1543

+0

http://msdn.microsoft.com/en-us/library/aa258265%28v=sql.80%29.aspx –

+0

@MarcB - 您建議我在幾小時內獲得日期部分,獲取分鐘的日期部分和concantenate? – MAW74656

回答

17
SELECT REPLACE(CONVERT(varchar(5), GETDATE(), 108), ':', '') 
+0

- 我明白了,但這樣做可以讓我有時間嗎? – MAW74656

+1

這是軍事時間。實際上需要更多的工作來獲得12小時的時鐘。 http://msdn.microsoft.com/en-us/library/ms187928.aspx而不是108,您也可以使用8,14或114來獲得相同的結果。 –

3
SELECT REPLACE(CONVERT(CHAR(5),GETDATE(),108), ':', '') 

如果您不需要冒號,只是將其刪除...

0

不要只做幾個小時的日期部分,得到分鐘的日期部分,而連接19:05將結束195.如果你走這條路線,你需要做這樣的事情來處理分鐘:

right('0'+ varcha r(datepart(mi,getdate())),2)

在這一點上它變得相當低效。