1. 插入 NULL: 当插入数据时,如果某一列没有提供值,或者使用 INSERT INTO table_name DEFAULT VALUES; 插入一行时,该列的值将被设置为 NULL。
-- 创建一个示例表
CREATE TABLE example (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
);
-- 插入一行,未提供 age 值,age 将被设置为 NULL
INSERT INTO example (name) VALUES ('John');
2. 比较和 NULL: 在比较中,NULL 不等于任何值,包括其他的 NULL。例如,NULL = NULL 的结果是未知的(不是 true 或 false)。
-- 查询所有 age 不是 NULL 的行
SELECT * FROM example WHERE age IS NOT NULL;
3. 处理 NULL: 可以使用 IS NULL 或 IS NOT NULL 来检查列是否为 NULL。
-- 查询所有 age 为 NULL 的行
SELECT * FROM example WHERE age IS NULL;
4. COALESCE 函数: 用于返回参数列表中的第一个非 NULL 值。
-- 返回 name 列的非 NULL 值,如果所有值都是 NULL,则返回 NULL
SELECT COALESCE(name, 'N/A') FROM example;
5. IFNULL 函数: 用于返回第一个非 NULL 参数。
-- 返回 age 列的值,如果为 NULL,则返回 -1
SELECT IFNULL(age, -1) FROM example;
处理 NULL 值时,确保在查询和操作中考虑到可能存在的 NULL 值,以避免产生不正确的结果。
转载请注明出处:http://www.zyzy.cn/article/detail/14187/SQLite