Я делаю некоторую отладку в SQL для Oracle 10g. У меня есть большая строка ввода, которая используется в «IN Clause», т.е.
select * from table where col in ('str2','str3','str4','str5',...)
я хочу преобразовать предложение in в строки или таблицу?
Есть ли способ сделать это, т.е.
select 'str2','str3','str4','str5', .. from dual
но это выводит несколько столбцов, а я хочу несколько строк?
Редактировать:
Вот что я пытаюсь сделать. Предположим, у меня есть данные Excel в tmp_table1 (невозможно создать в реальности), а tmp_table1 совпадает с предложением IN, тогда приведенный ниже оператор выдаст недостающие ключи.
SELECT *
FROM tmp_table1
WHERE unique_id NOT IN (
SELECT unique_id
FROM table1
WHERE unique_id IN
('str1', 'str2', 'str3', 'str4'))
now @ andriy-m решение работает, если значение in в строке меньше 4000. но что, если оно больше?