我刚开始学习SQL;我创建了一张桌子。学习插入命令和插入值分为2行。但是我在第3版中插入了空值。
现在我要删除第3行,其中有2列没有值。
我正在使用以下查询:
delete employee where city=null;
它似乎没有用!
答案 0 :(得分:5)
根据 SQL 92 标准,许多逻辑操作与空值一样
> null
= null
and null
or null
not null
应始终返回null (并且永远不会为真)。某些DBMS(例如Oracle)严格遵循此规则,某些(MS SQL)可以使用null = null
返回 true 的模式,而不是 null 。为了与SQL 92 分开,所以(几乎)所有DBMS都是如此,你应该使用is null
或is not null
标准比较
delete from employee
where city is null -- <- Standard comparison
答案 1 :(得分:3)
你不能使用= NULL。相反,使用:
delete employee where city is null;
答案 2 :(得分:3)
您需要is null
“运算符”:
delete from employee where city is null;
这是因为在SQL中,没有等于NULL
。
答案 3 :(得分:0)
您知道自己在城市列中添加了Null
,因此使用is null
进行检查即可,但也可以在城市列中添加空字符串。因此,如果您的业务条件类似于删除employee表中的所有记录,其中city为null或为空,即没有值,则应写为:
delete from employee where isnull(city,'')='';
答案 4 :(得分:0)
要实现这一目标 您将不得不编写此查询
DELETE from table_name WHERE city IS NULL;
此查询将删除城市为空的行/记录
答案 5 :(得分:-3)
改变它:
从 table_name 中删除,其中city为null
或
从 table_name 中删除,其中city = null