我有一个程序
PROCEDURE Pro
(
P_IDs VARCHAR2
);
我想从一个表中选择ID匹配P_IDs中发送的ID之一
SELECT * FROM Tbl WHERE ID IN ( P_IDs )
P_ID看起来像
'1,2,3,4,5'
我有什么选择?我想我曾经看过一种方法,不使用自定义函数来分割字符串,我想要一些简单易用的东西。
答案 0 :(得分:2)
我在这里找到了它:
我需要将其转换为XMLTable:
SELECT TO_NUMBER(xt.column_value) FROM XMLTABLE( '1,2,3,4' ) xt
使用示例:
SELECT * FROM Questions q
WHERE q.ID IN ( SELECT TO_NUMBER(xt.column_value) FROM XMLTABLE( '1,2,3,4' ) xt )