(DB) Oracle/SELECT-정규식

Oracle - 정규식 - AND, OR 검색

농부지기 2017. 1. 19. 23:52

[ Oracle - 정규식 - AND, OR 검색 ]

 

 

 

☞ 1. OR 검색 : 문자열에서 'CD  or  12  or  가나' 인 경우 찾기

 


WITH A AS
  (
SELECT 'ABCD 1234 가나다라' AS ald UNION ALL
   
SELECT 'CDEF 3456 다라마바' AS ald UNION ALL
   
SELECT 'EFGH 5678 마바사아' AS ald
  )
SELECT * FROM A
 
WHERE REGEXP_LIKE ( ald, 'CD|12|가나' );
 

☞ 2. AND 검색 : 문자열에서 'C  and  13 and  마' 인 경우 찾기

 

 


WITH A AS
  (
SELECT 'ABCD 1234 가나다라' AS ald UNION ALL
   
SELECT 'CDEF 3456 다라마바' AS ald UNION ALL
   
SELECT 'EFGH 5678 마바사아' AS ald
  )
SELECT *
  
FROM (SELECT REGEXP_COUNT ( ald, 'C|3|마' ) n
             , ald
          
FROM A
       ) B
 
WHERE B.n = REGEXP_COUNT ( 'C|3|마', '\|' ) + 1 ;