小编典典

在Oracle SQL中值为最低,但不为NULL

sql

我想在我的程序中使用函数LEAST来找到最小值。问题是某些值可能为NULL,所以如果我这样做

select least(NULL,0,1) from dual

我得到的答案是NULL,这可能是正确的,不是我希望返回的东西。我想得到最小的非零值。任何帮助,不胜感激。


阅读 259

收藏
2021-05-16

共1个答案

小编典典

我怀疑这实际上是您的查询。也许您正在做更多这样的事情?

select least(some_column) from dual

如果是这样,请将其更改为:

select least(some_column) from dual where some_column is not null

或者,如果您正在做更多类似的事情,那么您不仅可以使用它where来过滤集合,

select least(expr1,expr2,expr3) from dual

做这个:

select least(coalesce(expr1, 12345), coalesce(expr2, 12345), coalesce(expr3, 12345)) from dual

哪里12345的值足够大,只有在所有其他表达式都为的情况下才会选择该值NULL

2021-05-16