1

StartDateaと aの 2 つの日付があります。CreatedDate

私が言うなら

CreatedDate < StartDate 

の場合StartDateはどうなりNULLますか?

使うべきか

isnull(startdate,0) 

それとも単に a を返すのNULLか、それとも常にそのままよりも小さいStartDateStartDateNULL?

4

3 に答える 3

1

を確認する必要がありnullます。

をチェックしないとnull、比較の結果はunknownwhich isになりfalseます。

于 2013-08-05T12:22:30.313 に答える
1

StartDateとの両方が である場合CreatedDateNULLSQLCOALESCE関数を使用してデフォルト値を提供できます。たとえば、十分に小さい日付と十分に大きい日付です。

SELECT ...
FROM ...
WHERE COALESCE(StartDate, DATE '0001-01-01') < COALESCE(CreatedDate, DATE '9999-12-31')

ここでは、標準の SQL の日付と時刻のリテラルを使用しています。

: 日付と時間の制限は、データベース サーバーによって異なります。上記の例は、Oracle データベースで機能します。

于 2013-08-05T12:36:38.920 に答える