StartDate
aと aの 2 つの日付があります。CreatedDate
私が言うなら
CreatedDate < StartDate
の場合StartDate
はどうなりNULL
ますか?
使うべきか
isnull(startdate,0)
それとも単に a を返すのNULL
か、それとも常にそのままよりも小さいStartDate
のStartDate
かNULL
?
を確認する必要がありnull
ます。
をチェックしないとnull
、比較の結果はunknown
which isになりfalse
ます。
StartDate
との両方が である場合CreatedDate
、NULL
SQLCOALESCE
関数を使用してデフォルト値を提供できます。たとえば、十分に小さい日付と十分に大きい日付です。
SELECT ...
FROM ...
WHERE COALESCE(StartDate, DATE '0001-01-01') < COALESCE(CreatedDate, DATE '9999-12-31')
ここでは、標準の SQL の日付と時刻のリテラルを使用しています。
注: 日付と時間の制限は、データベース サーバーによって異なります。上記の例は、Oracle データベースで機能します。