如何將時間:'8:02:24 AM'轉換爲'08:02:24 AM',以便在特定時間列是固定長度的。轉換時間以hh:mm:ss AM(PM)格式(sql)
我嘗試在轉換函數中使用不同的樣式值,但無法獲得我想要的結果。
如何將時間:'8:02:24 AM'轉換爲'08:02:24 AM',以便在特定時間列是固定長度的。轉換時間以hh:mm:ss AM(PM)格式(sql)
我嘗試在轉換函數中使用不同的樣式值,但無法獲得我想要的結果。
你可以使用CONVERT函數將所有時間值轉換到24小時格式
SELECT CONVERT(VARCHAR, <your column name>, 108) AS HourMinuteSecond
你可以通過執行以下查詢
SELECT CONVERT(VARCHAR, CONVERT(DATETIME, '8:08:8 PM'), 108) AS HourMinuteSecond
如果不檢查結果想要24小時格式,您可以使用
SELECT REPLACE(RIGHT('0' + LTRIM(RIGHT(CONVERT(VARCHAR, <your column name>, 131), 14)), 11), ':000', ' ') AS HourMinuteSecond
示例:
SELECT REPLACE(RIGHT('0' + LTRIM(RIGHT(CONVERT(VARCHAR, CONVERT(DATETIME, '8:8:8 PM'), 131), 14)), 11), ':000', ' ') AS HourMinuteSecond
我不希望它在24小時格式。對於08PM也應該顯示,08:00:00 PM而不是20:00:00 –
我已經更新了答案,請檢查 –
謝謝!它工作完美。 –
下面的示例代碼將基於小時零件長度(1或2)加0。
declare @hour char(2)
declare @time varchar(20)='8:02:24 PM'
select @hour=substring(@time,1,charindex(':',@time)-1)
if len(@hour)=1
begin
set @hour='0'[email protected]
set @[email protected]+substring(@time,charindex(':',@time),10)
end
select @time
請僅標記相關的DBMS。 Oracle,SQL Server和MySQL的處理方式不同 – JohnHC
什麼是您的源列數據類型? –
@RajeshBhat datetime –