DATETIME と日付部分のみの比較
一部のシナリオでは、2 つの DATETIME または DATE 列の日付部分のみを比較する必要があります。時間成分を無視します。この記事では、SQL Server を使用した実用的なソリューションを検討することで、この要件に対処します。
問題: 無視して日付部分 (日、月、年) のみに基づいて 2 つのレコードを比較するにはどうすればよいですか?時間の要素 (時、分、秒)?
解決策:
日付部分を分離して時刻コンポーネントを破棄するには、SQL Server の CAST 関数を利用します。この関数は、DATETIME または DATE 値を、DATE データ型を含む別のデータ型に変換します。
次のクエリについて考えてみましょう。
IF CAST(DateField1 AS DATE) = CAST(DateField2 AS DATE)
このクエリでは、CAST 関数は DateField1 と DateField1 と DATE の両方を変換します。 DateField2 を DATE データ型に変換します。次に、結果の DATE 値に対して比較が実行され、時間要素は事実上無視されます。日付が一致する場合、比較は true と評価されます。それ以外の場合は false と評価されます。この手法を使用すると、2 つのフィールドの日付部分のみに焦点を当てて比較することができます。
以上がSQL Server で時刻コンポーネントを無視して DATETIME 列を比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。