如何在Oracle SQL查询where子句中从另一个表中查找冒号分隔的值

时间:2019-05-24 21:05:50

标签: string oracle oracle-apex tokenize

我想从一个表返回行值,其中另一个表包含冒号分隔的值。

假设 我有一个表名称“ Unit Name ”,其中包含 unit_id unit_name 表2是 User_reg ,其中包含 User_id 用户ID 包含冒号分隔符值。像82:81:80

如何从unit_name表中获取单位名称列表

SELECT
    * 
FROM
    unit_name un
WHERE (select school from user_reg where user_mode = 4) is not null 
and un.unit_id in     
         (SELECT    regexp_substr( school, '[^:]+', 1, LEVEL )  FROM    USER_REG 
         CONNECT BY regexp_substr( school, '[^:]+', 1, LEVEL ) IS NOT NULL );

1 个答案:

答案 0 :(得分:1)

如果运行以下查询,则会将定界字符串转换为行。

select * from table(apex_string.split('82:81:80',':'))