[VB.NET]Datediff関数 SQLServerと違う

SQL Server

結果値が異なる

日付差を取得する際に時刻も含められている場合は要注意

例題)
VB.NET
datediff(DateInterval.Day,#6/8/2008 23:59#,#6/9/2008 1:00#)
結果は 0 (24時間以上の差がないから 0日という解釈のよう)

SQLServer
select datediff(Day,’6/8/2008 23:59′,’6/9/2008 1:00′)
結果は 1 (日付部分だけ考慮して1日違うということのよう)

用途に応じて、VB.NETなら
datediff(DateInterval.Day,cdate(#6/8/2008 23:59#).Date,#6/9/2008 1:00#)
として、日付のみに変換するなどが必要

コメント

スポンサーリンク
タイトルとURLをコピーしました