SQL查询逗号分割的字段

需求就是,这样一个表里,查询NOTICE_QX含有03的数据。不用LIKE。

 

方案有2种:

1、ORACLE:

 1 SELECT *
 2 
 3   FROM (SELECT N.NOTICE_UUID,
 4 
 5               N.NOTICE_RELEASETIME,
 6 
 7               N.NOTICE_TITLE,
 8 
 9               REGEXP_SUBSTR(N.NOTICE_QX, '[^,]+', 1, LEVEL) QX
10 
11           FROM PZ_NOTICE_INFO N
12 
13         CONNECT BY LEVEL <= REGEXP_COUNT(NOTICE_QX, ',') + 1
14 
15               AND NOTICE_UUID = PRIOR NOTICE_UUID
16 
17               AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL
18 
19               )
20 
21 WHERE QX = '03';

2、MySQL

SELECT * FROM 
PZ_NOTICE_INFO
WHERE FIND_IN_SET(‘03’,NOTICE_QX)

 

使用时,请关注查询效率。

posted @ 2020-06-08 14:30  yoonching  阅读(11)  评论(0)    收藏  举报