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テーブルには、c1、c2、および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 | - |
+-----+------------+-----+関連関数
詳細については、「」をご参照ください。その他の関数.