我有一個SQL Server 2008表,其中有DateTime
列,我想將其轉換爲24h格式。將SQL Server datetime列轉換爲24h格式失敗
的規範引導是沿着線使用的東西:
select CONVERT(datetime, GetDate(), 121)
這將產生:
2012-01-24 15:22:27.340
完美。好了,所以將這一知識,讓我們更換GetDate()
同爲CONVERT
表達式中的列:
select top(5) CONVERT(datetime, LogTable.Timestamp, 121) from LogTable
order by LogTable.Id DESC
而我們得到:
2012-01-24 03:25:47.933
2012-01-24 03:25:46.917
2012-01-24 03:25:46.547
2012-01-24 03:25:46.543
2012-01-24 03:25:46.543
我在做什麼錯?應該如何設計表達式以使CONVERT
在列上工作,而不是在GetDate()
函數的輸出上工作?
有什麼不對?爲什麼你的輸出出現意外? – 2012-01-24 20:34:12
LogTable.Timestamp中的實際數據是什麼?這是一個VarChar(或nvarchar)列,還是已經是DateTime? – AllenG
您確定LogTable.Timestamp數據實際上不是3am嗎? –