gpt4 book ai didi

plsql - Oracle PL/SQL where 条件 : not equal to 0 or null

转载 作者:行者123 更新时间:2023-12-05 01:36:44 31 4
gpt4 key购买 nike

我选择 id,它不能等于 0,值也不能是 (null)。我写道:

WHERE id IS NOT NULL (+) and id not in ('0')

我有 2 个错误

Error(9,5): PL/SQL: SQL Statement ignored

Error(38,119): PL/SQL: ORA-00933: SQL command not properly ended I change it to:

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 上的索引列,这可能会对性能产生不良影响。

关于plsql - Oracle PL/SQL where 条件 : not equal to 0 or null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34621854/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com