본문 바로가기

기초공부/SQL

[MySQL]ASCII, ORD, CHAR 함수 정리(UTF-8)

모든 포스트 목록

ASCII, ORD, CHAR 함수 정리

ASCII : 문자열의 가장 왼쪽 문자의 아스키 코드 값을 반환하는 함수
ORD : 아스키 코드 값을 반환하는 함수
(문자열의 가장 왼쪽 문자가 멀티바이트 문자일 경우, 공식을 이용해 계산합니다.
멀티바이트 문자가 아닐 경우에는 ASCII 함수와 동일합니다.)


예시
멀티바이트 문자가 아닐 경우

멀티바이트 문자일 경우

다음과 같이 출력됩니다.
이는 함수가 읽어들이는 바이트의 수가 다르기 때문입니다.

UTF-8 방식에서 문자 '가'는 11101010 10110000 10000000로 표현됩니다.
ord 함수는 이를 10진수로 변환하여 15380608로 출력하고,
ascii 함수는 왼쪽에서 1바이트를 해석하여 234(=11101010)를 출력합니다.

CHAR : 인수를 정수로 해석하고 해당 정수의 코드 값으로 지정된 문자로 구성된 문자열을 리턴하는 함수
만약 그 수가 255보다 크다면 multiple result bytes로 변환합니다.

ex) char(256) = char(1, 0)

예시

출처

문자열 인코딩
mysql document 12.5 String Functions and Operators

'기초공부 > SQL' 카테고리의 다른 글

[SQL]포스트 목록  (0) 2019.08.27
[MySQL]LENGTH, CHAR_LENGTH 함수 비교  (0) 2019.08.27