SQLite | SQLite 함수 | BLOB 타입의 값을 16진수로 변환 (hex 함수)

hex 함수를 사용하면 BLOB 타입의 값을 16진수로 변환한 값을 구할 수 있다. 여기에서는 hex 함수의 사용법에 대해 설명한다.

hex 함수 사용법

hex 함수는 BLOB 타입의 값을 16진수 표기하는데 사용한다. 형식은 다음과 같다.

hex(BLOB 타입의 값)

인수에 지정된 값은 BLOB 타입의 값으로 처리되고, BLOB 형태의 값을 16진수로 변환한 결과이 반환된다.

BLOB 타입의 값은 이진 데이터이다. 예를 들어, 바이너리 데이터 6D 라는 값을 표시하려면 문자 코드 6D에 해당하는 문자인 ’m’을 화면에 표시하게 된다. hex 함수를 사용하면 이진 데이터 6D를 ‘6D’라는 문자열로 변환하여 반환한다.

그러면 실습으로 hex 함수를 사용하여 randomblob 함수에 의해 생성된 BLOB 형태의 값을 16 진수로 구해 보겠다. (randomblob 함수에 대해서는 BLOB 타입의 값에 대한 난수를 생성 (randomblob 함수)를 참조한다.)

select hex(randomblob(2));
sqlite> select hex(randomblob(2));
hex(randomblob(2))
------------------
7F64              
sqlite> select hex(randomblob(2));
hex(randomblob(2))
------------------
DB6D              
sqlite> select hex(randomblob(2));
hex(randomblob(2))
------------------
2176              
sqlite> select hex(randomblob(2));
hex(randomblob(2))
------------------
74D5              
sqlite> 

SELECT 문을 실행할 때마다 생성된 BLOB 타입의 값을 16진수로 표시 되었다.

또한 인수에 지정된 값을 BLOB 타입의 값으로 처리하기 위하여 문자열을 지정하면 문자열의 문자에 해당하는 문자 코드를 16진수로 구해올 수 있다.

select hex('Aa');
select hex('ABC');
sqlite> select hex('Aa');
hex('Aa')
----------
4161      
sqlite> select hex('ABC');
hex('ABC')
-----------
414243     
sqlite> 

인수에 지정한 문자열의 문자 코드를 16진수로 표시 되었다.




최종 수정 : 2019-11-13