概要:このチュートリアルでは、最初の非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)製品の正味価格
Dis500正味価格を計算するときに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