본문으로 건너뛰기
최종 수정: 에

HEX

설명​

HEX 함수는 입력 매개변수를 십육진수 문자열로 변환합니다. 이 함수는 MySQL과 호환되며, 숫자와 문자열 입력을 모두 지원하고 입력 타입에 따라 서로 다른 변환 규칙을 적용합니다.

입력 매개변수가 숫자(BIGINT 타입)이면 해당 숫자의 십육진수 문자열 표현을 반환합니다.

입력 매개변수가 문자열이면 각 문자를 바이트 단위로 두 개의 십육진수 문자로 변환한 다음, 변환된 문자를 모두 이어 붙여 결과 문자열을 만듭니다.

구문​

HEX(<expr>)

매개변수​

매개변수설명
<expr>입력 매개변수로, BIGINT 타입의 숫자 또는 VARCHAR 타입의 문자열을 사용할 수 있습니다.

반환값​

입력 매개변수의 십육진수 표현을 VARCHAR 타입으로 반환합니다.

변환 규칙:

  • 숫자 입력: 해당하는 십육진수 값으로 변환합니다(BIGINT 범위 내).
  • 문자열 입력: 각 바이트를 두 개의 대문자 십육진수 문자로 변환합니다.
  • 음수는 이의 보수 이진수 형식으로 변환합니다.

특수한 경우:

  • 매개변수가 NULL이면 NULL을 반환합니다.
  • 숫자 0은 '0'으로 변환합니다.
  • 빈 문자열은 빈 문자열로 변환합니다.
  • 음수는 64비트 이의 보수의 십육진수 표현으로 변환합니다.

예제​

  1. 기본 숫자 변환
SELECT HEX(12), HEX(-1);
+---------+------------------+
| HEX(12) | HEX(-1) |
+---------+------------------+
| C | FFFFFFFFFFFFFFFF |
+---------+------------------+
  1. 문자열 변환
SELECT HEX('1'), HEX('@'), HEX('12');
+----------+----------+-----------+
| HEX('1') | HEX('@') | HEX('12') |
+----------+----------+-----------+
| 31 | 40 | 3132 |
+----------+----------+-----------+
  1. 큰 정수 변환
SELECT HEX(255), HEX(65535), HEX(16777215);
+----------+------------+----------------+
| HEX(255) | HEX(65535) | HEX(16777215) |
+----------+------------+----------------+
| FF | FFFF | FFFFFF |
+----------+------------+----------------+
  1. NULL 값 처리
SELECT HEX(NULL);
+-----------+
| HEX(NULL) |
+-----------+
| NULL |
+-----------+
  1. 영과 빈 문자열
SELECT HEX(0), HEX('');
+--------+--------+
| HEX(0) | HEX('') |
+--------+--------+
| 0 | |
+--------+--------+