Saya khawatir ini tidak akan berhasil:
SELECT * from myTable where name in (inputStr);
Anda dapat menggunakan SQL dinamis, seperti pada jawaban @Bob Jarvis, atau Anda dapat melakukan hal berikut:
SELECT * FROM myTable WHERE REGEXP_LIKE(name, '^(' || REPLACE(inputStr, ',', '|') || ')$');
Kesulitan dengan yang terakhir adalah bahwa, di Oracle, ekspresi reguler dapat memiliki panjang paling banyak 512 byte. Jadi inputStr
. Anda akan dibatasi hingga 508 byte (karena kami menambahkan empat byte untuk jangkar dan pengelompokan).