DB
SELECT 절에 ' 표시 (escape)
수학소년
2023. 6. 6. 22:39
SELECT '''' FROM DUAL;
'
'''' 4개를 써야 ' 로 표시 됌
이거 할랬던 이유가 쿼리의 SELECT 결과를 IN절에 쓰려고 했었음
SELECT * FROM TABLE WHERE COL IN ('1','2','3');
물론.. IN 절에 SUB QUERY 넣으면 돼긴 한데...
조인 불가능 한경우는 어쩔 수 없이 결과 옮겨서 해야 함
SELECT COL FROM TABLE; 의 결과가
'1'
'2'
'3'
...
'29' 라면,
세로 편집으로 앞에 ' 붙이고, 뒤에 ', 붙이고 마지막ROW엔 , 하나 지우고 복붙해서 쿼리 돌림
만약 '1','2','3',...,'29' 라는 문자열을 얻을 수 있으면 좋겠는데.
LISTAGG 또는 GROUP_CONCAT로 결과를 ,로 모아보자
ORACLE
SELECT LISTAGG('''' || INST_CLF_CD || '''', ',') WITHIN GROUP (ORDER BY INST_CLF_CD)
FROM ORG
;
DB2
SELECT LISTAGG('''' || INST_CLF_CD || '''', ',') FROM ORG;
MYSQL, MARIA
SELECT GROUP_CONCAT('''', INST_CLF_CD, '''' SEPARATOR ',') FROM ORG;