本記事では、具体的な例を用いて、NULL 関連関数を使用して NULL 値を識別し、変換する方法について説明します。
NULL関連関数
NULL値の特徴として、どの値とも等しくも不等しくもならないという性質があります。IS NULLを用いて判断することができ、またNVL関数を使用してNULL値を認識可能な文字列に変換することもできます。
例
サンプルテーブルを作成し、適切なデータを挿入します。
obclient> CREATE TABLE t_null(id NUMBER NOT NULL PRIMARY KEY, name VARCHAR(10));
Query OK, 0 rows affected
obclient> INSERT INTO t_null(id, name) VALUES(1,'A'), (2,NULL), (3,'NULL');
Query OK, 3 rows affected
Records: 3 Duplicates: 0 Warnings: 0
クエリ内でNULL関連関数を使用する
NVL() または IFNULL() 関数を使用して、NULL 値を識別し、変換します。OceanBaseデータベースのMySQLモードでは、列に NULL 値が含まれる可能性がある場合、NVL() または IFNULL() 関数を使用して識別し、特殊文字に変換することができます。
obclient> SELECT id, name, NVL(name, 'NOT APPLICABLE') n_name, IFNULL(name, 'NOT APPLICABLE') n2_name FROM t_null;
+----+------+----------------+----------------+
| id | name | n_name | n2_name |
+----+------+----------------+----------------+
| 1 | A | A | A |
| 2 | NULL | NOT APPLICABLE | NOT APPLICABLE |
| 3 | NULL | NULL | NULL |
+----+------+----------------+----------------+
3 rows in set