次の Fiddle で 102 が返されないのはなぜですか? 両方の列に存在しない最小の数を探しています。
注意: 1 つの列は数値で、もう 1 つは varchar です。
SELECT NVL(MIN(a1.id_int)+1, 111)
FROM bPEOPLE a1
WHERE NOT EXISTS (SELECT 1
FROM PEOPLE a2
WHERE a2.id_int=a1.id_int+1
)
AND NOT EXISTS ( SELECT 1
FROM PEOPLE a3
WHERE TO_NUMBER(a3.id_str)=a1.id_int+1
)
AND a1.id_int + 1 > 100
AND a1.id_int + 1 < 110;