我选择的id
地方不能等于0,值也不能(null)
.我写:
WHERE id IS NOT NULL (+) and id not in ('0')
我有2个错误
错误(9,5):PL/SQL:忽略SQL语句
错误(38,119):PL/SQL:ORA-00933:SQL命令未正确结束我将其更改为:
WHERE id IS NOT NULL (+) and id is not ('0')
发生了相同的错误 我应该写什么作为WHERE
条款?
您可以将条件简化为:
WHERE id != 0
因为与NULL的比较(使用两个=或!=运算符)总是求值为NULL(在条件中将SQL视为"假"),
因此NULL!= 0总是求值为FALSE并且您可以在此条件下跳过此部分
WHRE id != 0 AND id IS NOT NULL
Braiam的回答Where nvl(Id,0)<>0
虽然正确,但会阻止数据库在id
列上使用索引,这可能会对执行产生不良影响.
(+)用于外连接.你应该写:
Where nvl(Id,0)<>0