SQL における COALESCE と ISNULL
SQL では、COALESCE と ISNULL は欠損値または NULL 値を処理するために使用される 2 つの関数です。これらは類似点を共有していますが、動作と実装には顕著な違いがあります。
COALESCE
COALESCE は、複数の引数を受け取り、最初の非 NULL 値を返す関数です。 。これは、文字列を連結したり、列が欠落している場合にデフォルト値を返したりする場合に便利です。例:
SELECT COALESCE(name, 'Unknown') FROM table
COALESCE はすべての引数を順番に評価するため、最初の引数が NULL の場合は、NULL 以外の値が見つかるまで次の引数に進みます。
ISNULL
ISNULL は 2 つの引数を受け取り、そうでない場合は最初の引数を返す関数ですそれ以外の場合は 2 番目の引数が NULL になります。これは、文字列の 1 つが NULL である場合に、文字列の連結が NULL を返すのを避けるためによく使用されます。例:
SELECT ISNULL(name, '') FROM table
ISNULL は最初の引数を 1 回だけ評価し、最初の引数が NULL でない場合は 2 番目の引数には進みません。
主な違い
COALESCE と ISNULL の主な違いは:
連結の推奨事項
SQL 連結で NULL 値を回避する場合は、ISNULL を使用することをお勧めします。 ISNULL は、引数の NULL 可能性に関係なく、結果が NULL にならないことを保証します。例:
SELECT ISNULL(column1, '') || ISNULL(column2, '') FROM table
この連結は、column1 と column2 の両方が NULL であっても、常に NULL 以外の文字列を返します。
以上がCOALESCE と ISNULL: NULL の処理にはどちらの SQL 関数を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。