PostgreSQL-NULL値
PostgreSQL NULL欠測値を表すために使用される用語です。テーブルのNULL値は、空白のように見えるフィールドの値です。
NULL値のあるフィールドは、値のないフィールドです。NULL値は、ゼロ値またはスペースを含むフィールドとは異なることを理解することが非常に重要です。
構文
使用の基本構文 NULL テーブルの作成中は次のとおりです-
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
ここに、 NOT NULL列は常に指定されたデータ型の明示的な値を受け入れる必要があることを意味します。NOTNULLを使用しなかった列が2つあります。したがって、これはこれらの列がNULLになる可能性があることを意味します。
NULL値を持つフィールドは、レコードの作成中に空白のままにされたフィールドです。
例
不明な値を他の値と比較する場合、結果は常に不明であり、最終結果に含まれないため、NULL値はデータの選択時に問題を引き起こす可能性があります。次の表を考えてみましょう。COMPANYは次のレコードを持っています-
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
次のように、UPDATEステートメントを使用していくつかのnull許容値をNULLとして設定しましょう。
testdb=# UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);
これで、COMPANYテーブルには次のレコードが含まれるはずです-
id | name | age | address | salary
----+-------+-----+-------------+--------
1 | Paul | 32 | California | 20000
2 | Allen | 25 | Texas | 15000
3 | Teddy | 23 | Norway | 20000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
6 | Kim | 22 | |
7 | James | 24 | |
(7 rows)
次に、の使用法を見てみましょう IS NOT NULL SALARYがNULLでないすべてのレコードをリストする演算子-
testdb=# SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NOT NULL;
上記のPostgreSQLステートメントは次の結果を生成します-
id | name | age | address | salary
----+-------+-----+------------+--------
1 | Paul | 32 | California | 20000
2 | Allen | 25 | Texas | 15000
3 | Teddy | 23 | Norway | 20000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
(5 rows)
以下はの使用法です IS NULL SALARYがNULLであるすべてのレコードをリストする演算子-
testdb=# SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NULL;
上記のPostgreSQLステートメントは次の結果を生成します-
id | name | age | address | salary
----+-------+-----+---------+--------
6 | Kim | 22 | |
7 | James | 24 | |
(2 rows)