資料值示例,列[last_run]值 1647644503000000000
SELECT
CAST(DATEADD(s, (last_run / 1000000000) - 18000, '19700101') AS DATETIME2) AS 'Last_Backup'
這會將其正確轉換為Last_Backup = 2022-03-18 18:01:43.0000000
當我嘗試添加此查詢時
, DATEDIFF(DAY, 'Last_Backup', GETDATE()) AS 'DateDifference'
我收到以下錯誤:
從字串轉換日期和/或時間時轉換失敗。
如何避免此錯誤?
uj5u.com熱心網友回復:
雖然不是最有效的,但您總是可以像這樣重復計算:
SELECT
CAST(DATEADD(s, (last_run / 1000000000) - 18000, '19700101') AS DATETIME2) AS 'Last_Backup',
DATEDIFF(DAY, CAST(DATEADD(s, (last_run / 1000000000) - 18000, '19700101') AS DATETIME2), GETDATE()) AS 'DateDifference'
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/447891.html
