【问题标题】:Oracle SQL Multi Column <> Null SelectOracle SQL 多列 <> 空选择
【发布时间】:2021-03-27 19:36:56
【问题描述】:
SELECT * 
FROM GNGRB.LOAN 
WHERE LOAN, INTRST, RATE IS NOT NULL 
ORDER BY LOAN DESC;

请找出此查询中的错误。

【问题讨论】:

    标签: sql oracle identity-column


    【解决方案1】:
    SELECT * 
    FROM GNGRB.LOAN 
    WHERE LOAN IS NOT NULL
      AND INTRST IS NOT NULL
      AND RATE IS NOT NULL 
    ORDER BY LOAN DESC;
    

    【讨论】:

    • 这看起来是问题中代码的更正版本 - 它要求识别错误而不是要求更正它。你能指出原件哪里出了问题,哪里出了问题?
    • 看来最初的问题源于“分配属性”在起作用的错误假设。 SQL 不会发生这种情况。。该属性(在这种情况下为“不为空”)不适用于变量/列/表达式,但必须单独应用于每个。然后每个结果谓词必须有一个逻辑连接器到任何前面或后面的谓词。因此“(RATE 不为空)(LOAN 不为空)...”。 @Popeye 的版本有效,因为“anything + null 总是导致 null”。
    【解决方案2】:

    我可以看到loaninterestrate都是number数据类型值,可以使用+如下:

    Select * from your_table t
     Where loan + interest + rate is not null
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-07
      • 2021-09-18
      • 2015-10-26
      • 1970-01-01
      • 2018-09-01
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多