devnoong.log
article thumbnail
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