我正在嘗試將 SQL Server 中的 16 位日期時間字串(以毫秒為單位)轉換為實際的日期時間以及毫秒。一個示例是更改這樣的記錄2022020804180454, 以讀取 的美國日期時間02/08/2022 04:18:04.54。
我該怎么做呢?Google/Bing 搜索表明日期帶有午夜時間戳
CONVERT(datetime, CAST('2022020804180454' AS CHAR(8)), 101)
這不是我所追求的。
任何幫助或被指出正確的方向都會有所幫助。
uj5u.com熱心網友回復:
您可以使用方便DATETIMEFROMPARTS:
DECLARE @s nvarchar(16) = '2022020804180454';
SELECT DATETIMEFROMPARTS(LEFT(@s,4), --year
SUBSTRING(@s,5,2), --month
SUBSTRING(@s,7,2), --day
SUBSTRING(@s,9,2), --hour
SUBSTRING(@s,11,2), --minute
SUBSTRING(@s,13,2), --second
SUBSTRING(@s,15,2)*10 --millisecond
)
uj5u.com熱心網友回復:
用 注入所需的字符,STUFF然后轉換:
SELECT CONVERT(datetime2(2),STUFF(STUFF(STUFF(STUFF(V.YourDateString,15,0,'.'),13,0,':'),11,0,':'),9,0,' '))
FROM (VALUES('2022020804180454'))V(YourDateString);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/425373.html
