0
で文を理解する:はどのように<code>where</code>句の私は、次の文を参照してくださいいくつかのストアドプロシージャではSQL
...
where
(@val1 is null or val = @val)
それは何を意味するのでしょうか?
で文を理解する:はどのように<code>where</code>句の私は、次の文を参照してくださいいくつかのストアドプロシージャではSQL
...
where
(@val1 is null or val = @val)
それは何を意味するのでしょうか?
これは、結果セットをフィルタリングするために使用される変数を渡すときに、これをストアドプロシージャで使用しています。 null
の値は、パラメータをフィルタとして使用しないことを示します。
@val1
がnullの場合、式は真となり、結果はフィルタリングされません。@val1
がNULLでない場合、結果はフィルタリングされ、val
列はパラメータと一致する必要があります。
nullは決して等しいものではないため、明示的にチェックする必要があります。 https://www.simple-talk.com/sql/learn-sql-server/sql-and-the-snare-of-three-valued-logic/ – Jeremy