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

!markdown


# Oracle (오라클)



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


- 다음 조건을 활용한다.


```sql

where (',' || REPLACE(upper(VALIDLIST), ' ', ',') || ',') LIKE ('%,' || upper('A9') || ',%') 

```


- 예제 


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


```sql

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') || ',%') 

;

```


- 결과


```no

1,2,3,4,5,678,A,A9,9A

```