MySQL에서는 문자열을 16진수(Hexadecimal) 형태로 입력할 수 있으며, 대표적으로 두 가지 방법이 있습니다. 각 방식의 문법과 실행 결과를 살펴보겠습니다.
방법 1: 접두사 'X' 사용
첫 번째 방법은 16진수 값 앞에 접두사 X를 붙이고, 전체를 작은따옴표('')로 감싸는 것입니다. 이렇게 입력하면 MySQL이 해당 16진수 문자열을 자동으로 일반 문자열로 변환해 줍니다.
예제
mysql> Select X'5152545678'; +---------------+ | X'5152545678' | +---------------+ | QRTVx | +---------------+ 1 row in set (0.00 sec)
위 예제에서 볼 수 있듯이, 16진수 5152545678은 각 바이트가 ASCII 코드로 해석되어 문자열 QRTVx로 변환됩니다.
방법 2: 접두사 0x 사용
두 번째 방법은 16진수 값 앞에 접두사 0x를 붙이고, 따옴표 없이 그대로 작성하는 것입니다. 이 경우에도 MySQL은 16진수 문자열을 자동으로 일반 문자열로 변환합니다.
예제
mysql> Select 0x5152545678; +--------------+ | 0x5152545678 | +--------------+ | QRTVx | +--------------+ 1 row in set (0.00 sec)
'X' 접두사 방식과 마찬가지로 동일한 결과인 QRTVx가 출력되는 것을 확인할 수 있습니다.
정리
두 방식 모두 같은 결과를 반환하지만, 문법상 차이가 있습니다.
- X'...' 방식: 작은따옴표 안에 16진수를 작성하며, 짝수 개의 16진수 자릿수여야 합니다.
- 0x... 방식: 따옴표 없이 작성하며, 주로 리터럴 상수를 표현할 때 사용됩니다.
상황에 맞게 편리한 방식을 선택하여 사용하면 됩니다.