TOOL/DATABASE 2017. 3. 15. 16:38

Oracle (오라클)

쉼표구분자 문자열에 포함된 문자열을 갖은 행만 가져오기

  • 다음 조건을 활용한다.
where (',' || REPLACE(upper(VALIDLIST), ' ', ',') || ',') LIKE ('%,' || upper('A9') || ',%'
  • 예제 

dual은 Test용 Dummy테이블이며, 아래는 UNION으로 2개의 가상테이블을 묶은 2행의 가상 테이블을 만들어서 테스트한 예제이다.

SELECT *
FROM (
  SELECT  '1,2,3,4,5,678,A,A9,9A' as VALIDLIST FROM dual
  UNION
  SELECT  '1,2,3,4,5,689,D,B9,9F' as VALIDLIST FROM dual
)
where (',' || REPLACE(upper(VALIDLIST), ' ', ',') || ',') LIKE ('%,' || upper('A9') || ',%') 
;
  • 결과
1,2,3,4,5,678,A,A9,9A