최종 수정: 에
HEX
설명
HEX 함수는 입력 매개변수를 십육진수 문자열로 변환합니다. 이 함수는 MySQL과 호환되며, 숫자와 문자열 입력을 모두 지원하고 입력 타입에 따라 서로 다른 변환 규칙을 적용합니다.
입력 매개변수가 숫자(BIGINT 타입)이면 해당 숫자의 십육진수 문자열 표현을 반환합니다.
입력 매개변수가 문자열이면 각 문자를 바이트 단위로 두 개의 십육진수 문자로 변환한 다음, 변환된 문자를 모두 이어 붙여 결과 문자열을 만듭니다.
구문
HEX(<expr>)
매개변수
| 매개변수 | 설명 |
|---|---|
<expr> | 입력 매개변수로, BIGINT 타입의 숫자 또는 VARCHAR 타입의 문자열을 사용할 수 있습니다. |
반환값
입력 매개변수의 십육진수 표현을 VARCHAR 타입으로 반환합니다.
변환 규칙:
- 숫자 입력: 해당하는 십육진수 값으로 변환합니다(BIGINT 범위 내).
- 문자열 입력: 각 바이트를 두 개의 대문자 십육진수 문자로 변환합니다.
- 음수는 이의 보수 이진수 형식으로 변환합니다.
특수한 경우:
- 매개변수가 NULL이면 NULL을 반환합니다.
- 숫자 0은 '0'으로 변환합니다.
- 빈 문자열은 빈 문자열로 변환합니다.
- 음수는 64비트 이의 보수의 십육진수 표현으로 변환합니다.
예제
- 기본 숫자 변환
SELECT HEX(12), HEX(-1);
+---------+------------------+
| HEX(12) | HEX(-1) |
+---------+------------------+
| C | FFFFFFFFFFFFFFFF |
+---------+------------------+
- 문자열 변환
SELECT HEX('1'), HEX('@'), HEX('12');
+----------+----------+-----------+
| HEX('1') | HEX('@') | HEX('12') |
+----------+----------+-----------+
| 31 | 40 | 3132 |
+----------+----------+-----------+
- 큰 정수 변환
SELECT HEX(255), HEX(65535), HEX(16777215);
+----------+------------+----------------+
| HEX(255) | HEX(65535) | HEX(16777215) |
+----------+------------+----------------+
| FF | FFFF | FFFFFF |
+----------+------------+----------------+
- NULL 값 처리
SELECT HEX(NULL);
+-----------+
| HEX(NULL) |
+-----------+
| NULL |
+-----------+
- 영과 빈 문자열
SELECT HEX(0), HEX('');
+--------+--------+
| HEX(0) | HEX('') |
+--------+--------+
| 0 | |
+--------+--------+