选择或打印两个整数之间不存在的列值

Joh*_* J. 4 sql oracle

我有一个大约10k连续整数值的列表,这些值应该从外部应用程序插入到表列中.但是,执行COUNT()会显示只插入了9900.

我需要确定序列中的哪些数字未插入.

使用它反过来很简单,只需从表列中选择值为BETWEEN x和y,但我还没想出如何打印(或选择)表列中不存在的值.

SELECT * FROM table 
WHERE column1 = 'value'
AND column2 BETWEEN 1 AND 10000
Run Code Online (Sandbox Code Playgroud)

如何打印BETWEEN子句中的值,其中column2的值不在范围内?

Bon*_*ist 5

你可以这样做:

select level num
from   dual
connect by level <= 10000
minus
select column2
from   your_table;
Run Code Online (Sandbox Code Playgroud)

to_char(level)如果您的column2是varchar2列,则可能需要执行此操作.