ベストアンサー
OracleのNVL関数を使用すると、結果のnullを文字列に置き換えることができます。クエリ。null値を取り除くのに役立ちます。
構文は次のとおりです。
NVL(exp\_to\_check, replacement\_value)
If exp\_to\_check
がnullの場合、NLV()はreplacement\_value
を返します。exp\_to\_check
がnullでない場合、 NLV()はexp\_to\_check
を返します。
完全に一致するわけではありませんが、PostgreSQLのCOALESCE()関数は非常によく似た機能を提供します。無制限の数の引数を受け入れ、 nullではない最初の引数を返します。すべての引数がnullの場合、COALESCE
関数はnullを返します。構文は次のとおりです。
COALESCE (argument\_1, argument\_2, …)
Navicat for PostgreSQL データベース開発クライアントを使用して説明する基本的な例をいくつか示します。
実際のクエリでのCOALESCE()の使用
Sakilaサンプルデータベースを使用したより現実的な例を次に示します。
アドレステーブルには、addressフィールドとaddress2フィールドが含まれています。後者はnullの場合があります。 COALESCE()関数を使用して、これらを「N / A」の値に置き換えることができます。
Navicatクエリエディターが表示し、クエリに正しい構文を挿入できるのが気に入っています。
完全なクエリと結果は次のとおりです。
nulladdress2値が変換されていることがわかります。
よろしくお願いします!
アダム
回答
COALESCE
もちろん、NVL
は短い名前ですが、わかりますか?
-
NVL
の意味を誰も理解していません。初心者に説明するのは難しいです。 -
NVL
は2つの引数しか取りませんが、COALESCE
は任意の数を取ります。 -
COALESCE
はANSI標準SQLの一部です。を含むすべてのSQLデータベースがこれをサポートしています Oracle。OracleのみがNVL
をサポートしています(明らかにInformixもサポートしています。コメントを参照してください)。