【发布时间】:2018-07-23 06:22:24
【问题描述】:
有人可以帮我写一个 sql 查询,该查询应该根据以下条件执行 oracle min 函数。
例如对于列值
- 0,0,0,0 那么输出应该是 0
- 0,null,0,null 那么输出应该是o
- 0,2,4,5,6 那么输出应该是2(注意我们这里不包括零)
- 0,2,null,4,5 那么输出应该是 2 (同样我们不包括零)
- null,null,null,null 那么输出应该为null。
我已经编写了满足上述所有情况的查询,但是当所有列值为空时,最后一种情况失败。它不是返回 null,而是返回 0。有人可以修改下面的查询以适应最后一种情况吗?
从表名中选择 NVL(MIN(NULLIF(columnname,0)),0);
请记住,查询应该可以在 oracle 和 hsqldb 中运行,因为我们使用 hsql db 来运行 junit。
【问题讨论】: