フィルタに句を選択する条件を使用してクエリを作成したいとします。 このようなものです。where節のSql条件文
SELECT Id,name,last_name,submitDate,lastvisitDate
from Visitor Where if(submitDate is not null) begin submitDate >= @dateFrom end
and if(submitDate is not null) begin submitDate < @dateTo end
が、@dateTo is null
この変数はあなたが@dateTo
にISNULL
を適用するため、いくつかの本当に遠い未来の日付にそれをデフォルトにすることができ、フィルタクエリ
ですが、あなたが言うと、選択はそのフィールドでヌル値を探しますか? – jcvegan
@JuanCarlosVegaNeira:いいえ、['ISNULL()'](http://msdn.microsoft.com/en-us/library/ms184325.aspx "ISNULL(Transact-SQL)")は、最初の1つはNULLで、それ以外の場合は最初の引数を返します。私の例では、ISNULLは、NULLの場合に '@ dateTo'のデフォルト値を効果的に提供します。したがって、 '@ dateTo' *が* NULLの場合、' submitDate'は非常に大きな値と比較されます。これは、真に 'true'を返すため、条件を無視した場合と同じになります。 –
これはうまく動作します、ありがとう! – jcvegan