Nullable(数据类型)
Nullable 数据类型
NULL
用于表示不存在或未知的值。 Nullable
数据类型允许存储 NULL
值。 例如, Nullable(Int64)
类型可以存储 Int64
类型的值以及 NULL
Syntax
创建表时,可以参照下述语句,定义 Nullable
列数据类型:
CREATE TABLE test(
id Int64,
name String NULL,
age Int32 NOT NULL
);
NULL
表示此字段的数据类型是 Nullable
并可以存储 NULL
值。 NOT NULL
表明此字段不能存储 NULL
值。
备注
使用 Nullable
几乎总是会对性能产生负面影响。 如果没有显式设定,Databend 的列数据类型默认为 NOT NULL
。
函数
检查值是否为 NULL
或 NOT NULL
。
Example
CREATE TABLE nullable_table(a Int8 NOT NULL, b Int8 NULL);
DESC nullable_table;
+-------+---------+------+---------+-------+
| Field | Type | Null | Default | Extra |
+-------+---------+------+---------+-------+
| a | TINYINT | NO | 0 | |
| b | TINYINT | YES | NULL | |
+-------+---------+------+---------+-------+
INSERT INTO nullable_table VALUES(1, NULL),(2, 3);
SELECT * FROM nullable_table;
+---+--------+
| a | b |
+---+--------+
| 1 | <null> |
| 2 | 3 |
+---+--------+
SELECT b, b IS NULL, b IS NOT NULL FROM nullable_table;
+--------+-----------+---------------+
| b | b IS NULL | b IS NOT NULL |
+--------+-----------+---------------+
| <null> | 1 | 0 |
| 3 | 0 | 1 |
+--------+-----------+---------------+