他の2つの列が更新されたときに更新される計算列があり、この列の式は
SELECT(datediff(day,'2012-11-01 18:15:00.000','2012-10-22 11:59:58.000'))
他のすべての日付では正常に機能しますが、月が変わると負の値になります。これが起こらず、正しい整数値を取得できるようにするにはどうすればよいですか?
他の2つの列が更新されたときに更新される計算列があり、この列の式は
SELECT(datediff(day,'2012-11-01 18:15:00.000','2012-10-22 11:59:58.000'))
他のすべての日付では正常に機能しますが、月が変わると負の値になります。これが起こらず、正しい整数値を取得できるようにするにはどうすればよいですか?
さて、2つのオプション:
以前の日付が常に日付のリストの最初になるようにしてください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')
の最初の日付が早い日付であるため、結果は10になります。DATEDIFF
絶対値を取得するために使用するだけABS
です(+または-なし):
SELECT ABS(DATEDIFF(DAY, '2012-11-01 18:15:00.000', '2012-10-22 11:59:58.000'))
その場合、負の値を取得することはありません。