이런 오류가 발생한 경우는 DB테이블에 설정된 Collation이 달라서 생기는 문제이다. 아예 테이블 컬럼의 collation을 추가하거나 업데이트해주는 편이 나중을 위해서 좋지만 엔지니어가 아닌 이상 이 작업도 직접 할 수 없는 경우가 많다. 그리고 지금 나의 경우에는 웹에서 제시되고 있는 JOIN 할 때 collate를 설정하는 방식으로는 sub 쿼리를 이용하거나 where 절 안에서 group concat을 이용해서 결과를 뽑아야 했어서 사용할 수 없었다.
그래서 애초에 컬럼을 뽑을 때 collate를 설정해주게끔 했더니 쉽게 해결됐다. 역시 답은 있다. 아래의 쿼리에서 COL과 TABLE 부분만 적절하게 수정하면 된다.
select * from (
select substring_index(COL_1, '@', -1) A, from TABLE_1 u
where COL_1 != ""
) a
where (a.A collate utf8mb4_general_ci) not in (select group_concat(COL_2) from TABLE_2 group by COL_2)
and a.A != ""
'코드와 오류 기록' 카테고리의 다른 글
faceswap apple mac silicon 에 설치하기 (0) | 2023.07.30 |
---|---|
한글 2014 for mac 터미널에서 다운받기 (0) | 2022.12.10 |
R extrafont로도 한글 깨짐 해결되지 않을 때 (0) | 2022.10.31 |
Ubuntu Permission Denied errno13 (0) | 2022.07.16 |
구글 앱 스크립트 트리거 정확한 시간에 작동시키기 (4) | 2022.07.07 |