求三个不同字段(A,B,C) 同一行的最小值least(A,B,C)可以但是我有种情况 ABC 三个字段可能有一个为空 比如
A B C
NULL 2 1这样的情况下查询出来就是 null 这个字段了这样的情况我希望得到1就是 判断如果 字段值是null 则排除 (不可能三个字段都为空的)
在线等,求助,谢谢!!!
A B C
NULL 2 1这样的情况下查询出来就是 null 这个字段了这样的情况我希望得到1就是 判断如果 字段值是null 则排除 (不可能三个字段都为空的)
在线等,求助,谢谢!!!
问最大值做什么?
类型都是varchar2
from dual;
--'最大值':是你3个列中各个列的数据永远不会达到的值。
需要转换下的,不然如果都不为空,而且全是varchar2类型的可以比较,但是有为空的
用“(★头脑风暴★) ”的方法会出现 查询出来为“'10000000'”这样的情况但是select least(to_number(nvl(a,'10000000')),to_number(nvl(b,'10000000')),to_number(nvl(c,'10000000'))) from your_table;
就可以了
感谢二位!!!
select least(nvl(a,10000000),nvl(b,10000000),nvl(c,10000000)) from your_table;
那是因为你给10000000加了单引号,nvl把他当字符型进行处理了。