eunzae's develog

[SQL] 비 규칙적인 글자 정규식 사용 추출 본문

Language/SQL

[SQL] 비 규칙적인 글자 정규식 사용 추출

eunzae 2021. 8. 11. 15:19
with z1 as(

SELECT regexp_extract(A.ARY,'[^,]+', 1, cast(c.cnt as int),'u') as ACT_CD
 FROM (SELECT regexp_REPLACE(ARRAY_COMBINE(regexp_extract_all(액팅정보컬럼, '(\)|\:\d\d)\/[가-힣A-Z\s?!+-]','u'), ','), '\)\/|\:\d\d\/', '','u') as ARY
	    FROM 투약테이블
	  ) A
 cross join (SELECT row_number () OVER (order by 1) as cnt    
              FROM (SELECT 1 FROM (SELECT  regexp_REPLACE(ARRAY_COMBINE(regexp_extract_all(액팅정보컬럼, '(\)|\:\d\d)\/[가-힣A-Z\s?!+-]','u'), ','), '\)\/|\:\d\d\/', '','u') as ARY			 					  FROM 투약테이블
								  )F  
				   LIMIT 70 
				   ) V 
			 ) C

 WHERE 액팅코드 IS NOT NULL

)


SELECT 액팅코드, count(*)
FROM z1
GROUP BY 액팅코드
;

데이터 예시: 

액팅정보
8:00/Y
8:00/Y, 9:00/Y
8:00/, 9:00/Y
8:00/Y, 9:00/N

원하는 출력값:

액팅코드 건수
Y 5
NULL 1
N 1

 

참고: http://nz2nz.blogspot.com/2016/09/netezza-transpose-delimited-string-into.html?m=1

'Language > SQL' 카테고리의 다른 글

[SQL] case when 절 이용한 데이터 정제  (0) 2022.04.19
[SQL]ROW_NUMBER() 함수  (0) 2021.12.22
[SQL] exists 함수  (0) 2021.06.01
[SQL] WITH절 사용  (0) 2021.05.31
[SQL] COLALESCE 함수  (0) 2021.05.31