not null 是列约束,禁止 null 值插入;is not null 是检查操作符,评估列是否不包含 null 值。
Oracle 中 NOT NULL 和 IS NOT NULL 的区别
NOT NULL 和 IS NOT NULL 是 Oracle 中用于指定列约束的两个相关但不相同的关系运算符。
NOT NULL
NOT NULL 约束指定列不能包含 NULL 值。这意味着该列必须始终包含一个非空值。如果尝试将 NULL 值插入具有 NOT NULL 约束的列,则 Oracle 将引发错误。
IS NOT NULL
另一方面,IS NOT NULL 操作符用于检查列是否不包含 NULL 值。它返回一个布尔值:如果列不包含 NULL 值,则返回 TRUE;如果包含 NULL 值,则返回 FALSE。
关键区别
NOT NULL 和 IS NOT NULL 之间的主要区别在于:
- 约束与检查:NOT NULL 是一个约束,用于定义列的行为,而 IS NOT NULL 是一个检查操作符,用于评估列的当前内容。
- NULL 插入:NOT NULL 约束禁止 NULL 值的插入,而 IS NOT NULL 运算符不会阻止插入 NULL 值。
用法
虽然两个操作符都用于确保列包含非 NULL 值,但它们在不同情况下使用:
- 定义列约束:NOT NULL 约束用于在创建表时定义列行为。
- 检查列内容:IS NOT NULL 操作符用于在查询中检查列是否不包含 NULL 值。
示例
以下示例演示了这两个操作符之间的区别:
CREATE TABLE MyTable ( id NUMBER NOT NULL, name VARCHAR2(255) ); INSERT INTO MyTable (id) VALUES (1); -- OK INSERT INTO MyTable (name) VALUES (NULL); -- Error SELECT * FROM MyTable WHERE name IS NOT NULL; -- Returns row with non-NULL name
登录后复制
以上就是oracle中不等于null和 is not null区别的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:代号邱小姐,转转请注明出处:https://www.dingdanghao.com/article/454210.html