2012-07-03 182 views
-1

我使用這個檢索日期和時間:格式化datetime值

SELECT convert(varchar, getdate()) 

,它顯示我作爲輸出:

Jul 3 2012 9:34PM 

,但客戶想應該有時間和AM/PM之間的空間,意思輸出應該是這樣的:

Jul 3 2012 9:34 PM 

在此先感謝。

回答

3

首先,don't use varchar without length。您可以在這裏使用STUFF,例如

SELECT STUFF(CONVERT(VARCHAR(19), GETDATE()), 18, 0, ' '); 

結果:

Jul 3 2012 12:48 PM 

注意,這個可以看看這取決於語言和區域設置不同。

在SQL Server 2012中,這是一個更直觀一點,但額外的月和日之間的空間的時候,天是< 10是棘手的解決(或缺乏我的.NET的format的理解):

SELECT FORMAT(GETDATE(), 'MMM d yyyy hh:mm tt'); 
+0

謝謝,這工作正常。 – Sami