概要:このチュートリアルでは、最初の非null引数を返すPostgreSQL COALESCE関数について学習します。 NULL値を効果的に処理するためにSELECTステートメントでこの関数を適用する方法を学習します。
PostgreSQL COALESCE関数構文
COALESCE
関数の構文は次のとおりです。
Code language: SQL (Structured Query Language) (sql)
COALESCE
関数は無制限の数の引数を受け入れます。 Nullでない最初の引数を返します。, すべての引数がnullの場合、COALESCE
関数はnullを返します。
COALESCE
関数は、最初のnull以外の引数が見つかるまで、左から右への引数を評価します。 最初のnull以外の引数の残りの引数はすべて評価されません。
COALESCE
関数は、SQL標準で提供されるNVL
またはIFNULL
関数と同じ機能を提供します。 MySQLにはIFNULL関数があり、OracleにはNVL
関数があります。,
次の例を参照してください。
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
データを照会するときに、COLAESCE
関数を使用して、null値のデフォルト値を置き換えます。 たとえば、ブログ記事からの抜粋を表示したい場合、抜粋が提供されていない場合は、投稿の内容の最初の150文字を使用できます。, これを実現するには、次のようにCOALESCE
関数を使用できます。
Code language: SQL (Structured Query Language) (sql)
PostgreSQL COALESCE example
COALESCE
関数を使用した例を見てみましょう。 まず、CREATE TABLEステートメントを使用してitemsという名前のテーブルを作成します。
Code language: SQL (Structured Query Language) (sql)
items
テーブル:
- id:itemsテーブルの項目を識別する主キー。
- product:製品名です。
- 価格:製品の価格です。,
- 割引:製品の割引。第三に、次の式を使用して製品の正味価格を照会します。
Code language: SQL (Structured Query Language) (sql)Code language: SQL (Structured Query Language) (sql)
四行目を見ると、製品の正味価格がわかります
D
正しくないようですnull。, 問題は、製品の割引ですD
はnullであるため、null値を取得して正味価格を計算すると、PostgreSQLはnullを返します。正しい価格を取得するには、割引がnullの場合、それはゼロであると仮定する必要があります。, 次に、次のように
COALESCE
関数を使用できます。Code language: SQL (Structured Query Language) (sql)製品の正味価格
D
is500
正味価格を計算するときにnull値の代わりにゼロを使用するためです。COALESCE
関数を使用するだけでなく、CASE式を使用してこの場合はnull値を処理できます。 上記と同じ結果を得るために、CASE
式を使用する次のクエリを参照してください。,Code language: SQL (Structured Query Language) (sql)上記のクエリでは、割引がnullの場合はゼロ(0)を使用し、それ以外の場合は正味価格を計算する式で割引値を使用します。
パフォーマンスの面では、
COALESCE
関数とCASE式は同じです。 私たちは好むCOALESCE
関数よりもCASE
式COALESCE
関数は、クエリを短く読みやすくします。このチュートリアルでは、
COALESCE
関数を使用してクエリ内のnull値を代入する方法を学習しました。,p>- このチュートリアルは役に立ちましたか?
- イェスノ
Leave a Reply