我正試圖圍繞我的團隊內部出現的問題進行討論。簡單查詢計算日後在計算中使用的日期之間的秒數。TSQL日期溢出問題
我們得到的問題/錯誤是:「datediff函數導致溢出,分隔兩個日期/時間實例的dateparts數量太大,請嘗試使用更精確的datepart使用datediff。
該圖顯示查詢並記錄其用於計算的信息。它正在工作的唯一原因是由於底部明確定義時間範圍的線。
當我刪除時間並且只保留日期時,我們得到溢出錯誤。
workingStart
有一個數據類型datetime
所以我能想到的唯一的事情是比較日期和日期時間字符串會導致溢出?
錯誤:
任何人都有一個正式的答案,爲什麼會出現這個錯誤?我唯一的猜測是dataType比較。
您確定'workingend'對每個記錄都有值嗎?也許你有一個'0'值,當你只有日期過濾時會顯示出來。 –
@MarcB在不包括工作計算時添加了另一個數據截圖 – SBB
datediff返回一個帶符號的32位整數作爲其結果,這意味着在幾秒內總共有68年的允許範圍。您應該運行單獨的查詢,查看是否有任何記錄的日期之間的差異> = 34,而不使用datediff。 –