PostgreSQL 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
);
Code language: PHP (php)
这里,NOT NULL表示该列应该始终接受给定数据类型的显式值。 有两列没有使用NOT NULL。 因此这意味着这些列可以为NULL。 具有NULL值的字段是在创建记录期间留空的字段。
查询的时候 我们可以使用IS NOT NULL 来进行过滤
SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NOT NULL;
Code language: PHP (php)
如果想查询字段是NULL的记录,使用IS NULL
SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NULL;
Code language: PHP (php)
- NULL不等于0,也不等于空字符串
'',代表没有填入任何数据。 - 判断NULL不能使用
=或者!=,必须用IS NULL/IS NOT NULL。 NOT NULL约束:新增、修改数据时,这个字段必须给值,不能是空。- 在join、聚合计算时,NULL会有特殊行为,聚合函数会直接忽略NULL。
