我有一個變量爲time(7)
,但它給了我的值如:'17:25'
。我希望它是這種格式:'5:25 PM'
。有沒有辦法做到這一點在2012年SQL沒有做這樣的事情:如何將時間(7)格式從24更改爲12?
DECLARE @aux NVARCHAR(8)='16:45:00'
SELECT CONVERT(VARCHAR(15),CAST(@aux AS TIME),100)
我有一個變量爲time(7)
,但它給了我的值如:'17:25'
。我希望它是這種格式:'5:25 PM'
。有沒有辦法做到這一點在2012年SQL沒有做這樣的事情:如何將時間(7)格式從24更改爲12?
DECLARE @aux NVARCHAR(8)='16:45:00'
SELECT CONVERT(VARCHAR(15),CAST(@aux AS TIME),100)
不,你不能做的格式SQL服務器中的任何使用存儲時間數據類型。您只能使用像您在查詢時提到的那樣的技巧以期望的格式提供輸出。或者更好的是,在前端應用程序中進行格式化。
,你可以嘗試使用DATEPART(HH ...用case語句或IF/ELSE改變過去的中午,和CONCAT上午或下午的時間就結束
即使你引述[這](HTTP ://stackoverflow.com/questions/11745958/sql-format-time-object-from-24-hour-to-12/11746597#11746597)頁面,你不認爲你的問題是相同的? – 2014-10-06 13:13:02
格式化幾乎總是最好由您的表示層處理。是否有任何理由不利於您使用已發佈的解決方案? – GarethD 2014-10-06 13:14:08
@GarethD - 我發現奇怪的是時間變量不允許時間格式不同。查看SQL 2012中是否有其他方法來執行此操作,但SQL Server的早期版本中沒有。 – dotnetN00b 2014-10-06 13:18:22