Tôi e rằng nó không hoạt động theo cách này:
SELECT * from myTable where name in (inputStr);
Bạn có thể sử dụng SQL động, như trong câu trả lời của @Bob Jarvis hoặc bạn có thể làm như sau:
SELECT * FROM myTable WHERE REGEXP_LIKE(name, '^(' || REPLACE(inputStr, ',', '|') || ')$');
Khó khăn với cái sau là, trong Oracle, một biểu thức chính quy có thể dài tối đa 512 byte. Vì vậy, inputStr
của bạn sẽ được giới hạn ở 508 byte (vì chúng tôi đang thêm bốn byte cho các neo và nhóm).