すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:NVL

最終更新日:Jan 17, 2025

MaxComputeでは、NVL関数を使用して、クエリ内のnull値を特定の値に置き換えることができます。 このようにして、データ分析またはレポート生成中に返される結果に予期しないnull値が含まれることはありません。 このトピックでは、MaxComputeでNVL関数を使用する方法について説明します。

構文

nvl(T <value>, T <default_value>)

パラメーター

  • value: 必須です。 入力パラメーター Tは、入力データのタイプを指定します。 型は、MaxComputeでサポートされている任意のデータ型です。

  • default_value: 必須です。 nullを置き換えるために使用される値。 default_valueのデータ型は、valueのデータ型と同じである必要があります。

戻り値

valueがnullの場合、default_valueが返されます。 それ以外の場合、valueが返されます。 valueパラメーターとdefault_valueパラメーターは同じデータ型である必要があります。

サンプルデータ

このセクションでは、NVL関数の使用方法を示すサンプルソースデータを提供します。 この例では、nvl_testという名前のテーブルが作成され、データがテーブルに追加されます。 サンプル文:

CREATE TABLE nvl_test (
  c1 string,
  c2 bigint, 
  c3 datetime);
  
 -- Insert data into the table.
 INSERT INTO nvl_test VALUES 
 	('aaa',23,'2024-01-11 00:00:00'),
  ('bbb',NULL,'2024-01-12 08:00:00'),
  (NULL,20,'2024-01-13 05:00:00'),
  ('ddd',25,NULL);

nvl_testテーブルには、c1c2、およびc3の列が含まれます。 NVL関数は、c1列のnull値を00000に置き換え、c2列のnull値を0に置き換え、c3列のnull値をハイフン (-) に置き換えます。 サンプル文:

SELECT nvl(c1,'00000'),nvl(c2,0),nvl(c3,'-') FROM nvl_test;

-- The following result is returned:
+-----+------------+-----+
| _c0 | _c1        | _c2 |
+-----+------------+-----+
| aaa | 23         | 2024-01-11 00:00:00 |
| bbb | 0          | 2024-01-12 08:00:00 |
| 00000 | 20         | 2024-01-13 05:00:00 |
| ddd | 25         | -   |
+-----+------------+-----+

関連関数

詳細については、「」をご参照ください。その他の関数.