Oracle:IN语句的格式字符串

时间:2012-07-13 14:34:16

标签: sql oracle

在varchar2字段(table1.field1)中,我有这样的事情: ; NUMBER1;数字2; .......; numberN;

我希望在IN语句中使用此值,例如:

SELECT * FROM table2 WHERE table2.field2 IN table1.field1

1 个答案:

答案 0 :(得分:1)

如果table2.field2的值是类似的字符串 NUMBER1
number2

然后试试这个:

SELECT * 
    FROM table2 
 WHERE EXISTS
    (
        SELECT 1
          FROM table1
         WHERE table1.field1 LIKE '%;' || table2.field2 || ';%'
    )  

如果table2与table1.field1中的相似,那么试试这个:

SELECT * 
    FROM table2 
 WHERE field2 IN 
    (
        SELECT field1
          FROM table1
    )