1
我有當其他兩列更新,該列的公式是計算使用SQL Server列日期
SELECT(datediff(day,'2012-11-01 18:15:00.000','2012-10-22 11:59:58.000'))
它工作正常的所有其他日期,但當月變化時更新計算列,那麼我得到一個負值。我怎樣才能確保這不會發生,我得到正確的整數值?
我有當其他兩列更新,該列的公式是計算使用SQL Server列日期
SELECT(datediff(day,'2012-11-01 18:15:00.000','2012-10-22 11:59:58.000'))
它工作正常的所有其他日期,但當月變化時更新計算列,那麼我得到一個負值。我怎樣才能確保這不會發生,我得到正確的整數值?
嘛,有兩個選項:
只需確保較早日期始終在您的日期列表中第一個爲DATEDIFF
SELECT DATEDIFF(DAY, '2012-11-01 18:15:00.000', '2012-10-22 11:59:58.000')
這給你的結果 - 10 - 這是因爲列表中的第一個日期是日期。
如果使用
SELECT DATEDIFF(DAY, '2012-10-22 11:59:58.000', '2012-11-01 18:15:00.000')
你的的結果 - 因爲在DATEDIFF
第一日期較早的日期。
只是用ABS
得到絕對值(沒有+或 - ):
SELECT ABS(DATEDIFF(DAY, '2012-11-01 18:15:00.000', '2012-10-22 11:59:58.000'))
在這種情況下,你永遠得到負值。
感謝一百萬......我覺得很明顯的愚蠢...... – vbNewbie