SQL Server での日付比較: 指定された日付よりも大きい日付のクエリ
SQL Server では、クエリには日付の比較が含まれることが多く、フィルタリングして特定の日付を取得します。データ。特定の日付よりも大きい日付をクエリしようとする場合、日付形式を正しく処理することが重要です。
次のクエリを考えてみましょう:
SELECT * FROM dbo.March2010 A WHERE A.Date >= 2010-04-01;
ここで、A.Date は ' 形式で表されます。 2010-03-04 00:00:00.000」。ただし、このクエリは予期した結果を返さない可能性があります。
この問題の原因は、2010-04-01 という式の解釈にあります。 SQL Server では、日付値が一重引用符で囲まれていない場合、数学的計算が実行されます。 2010 から 4 と 1 を引くと 2005 が得られますが、これは意図した比較値ではありません。
この問題を解決するには、Convert 関数を使用して式を明示的に日時データ型に変換する必要があります。修正されたクエリは次のとおりです。
select * from dbo.March2010 A where A.Date >= Convert(datetime, '2010-04-01' )
クエリは日付を正しく比較し、A.Date 値が '2010-04-01' 以上であるレコードを返します。
以上がSQL Server で指定された日付より後の日付を正しくクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。