728x90
타 업체 혹은 외부에서 데이터를 가져와서 사용할때 인코딩 방식이 다른 경우가 존재하기때문에, 내부적으로 쿼리에서 인코딩을 맞출 필요가 존재합니다.
그럴때 사용하는게 CONVER함수입니다.
CONVER함수는 CAST와 비슷하지만, 문자열 인코딩을 설정할 수 있어 조금 더 MYSQL에서 특화된 함수라고 볼 수 있습니다.
CONVERT 사용법
기본적으로 CONVERT함수는 CONVERT(EXPRESSION , DATA_TYPE) 으로 표현식이 구성되어있습니다.
하지만, 문자열 인코딩 값을 설정하는 경우에는 콤마 대신 USING 키워드를 사용해 데이터 타입을 구분합니다.
CONVERT(EXPRESSION USING DATA_TYPE)
SELECT CONVERT('안녕하세요 123 ABC' USING 'euckr') , LENGTH(CONVERT('안녕하세요 123 ABC' USING 'euckr')) AS LENGTH -- euckr
UNION ALL
SELECT CONVERT('안녕하세요 123 ABC' USING 'utf8mb4') , LENGTH(CONVERT('안녕하세요 123 ABC' USING 'utf8mb4')) AS LENGTH -- utf8mb4
UNION ALL
SELECT CONVERT('안녕하세요 123 ABC' USING 'utf8') , LENGTH(CONVERT('안녕하세요 123 ABC' USING 'utf8')) AS LENGTH -- utf8
똑같은 문자열 값인데도 불구하고, 문자열 인코딩값의 설정에 따라 길이가 다르게 설정되어 있는것을 확인 할 수 있습니다.
728x90
'DB > MySql' 카테고리의 다른 글
[Mysql] Oracle의 all_source 기능 구현 (0) | 2024.09.27 |
---|---|
[Mysql] create routine definer 에 따른 권한 발생 문제 (0) | 2023.12.22 |
[DB] MYSQL WITH RECURSIVE 예제 (0) | 2023.06.07 |
[DB] MYSQL WITH 구문 내부에 ORDER BY (정렬) 적용하기 (0) | 2023.06.07 |
[DB] MYSQL Column count doesn't match value count at row 1 (0) | 2023.04.27 |