본문 바로가기

SQL Server/SQL Server Tip & Tech

SQL Server 2008에서 binary와 string의 상호 변환

SQL 2005에서 binary 0x0123을 string '0x0123'으로 변환하려면 문서화되지 않은 시스템 함수 master.sys.fn_varbintohexstr() 를 사용해야 했습니다.

전 2008에서도 여전히 그 방법을 사용하고 있었는데.. CONVERT() 함수에 해당 기능이 이미 들어가 있었더군요.
심지어 '0x0123'을 0x0123으로 반환할 수도 있습니다. (이래서 what's new는 꼼꼼히 살펴봐야...)

binary to string

SELECT CONVERT(char(6), 0x0123, 1)

SELECT CONVERT(char(4), 0x0123, 2)


string to binary

SELECT CONVERT(binary(2), '0x0123', 1)

SELECT CONVERT(binary(2), '0123', 2)


CONVERT() 함수의 세번째 인자는 스타일을 정의하는데 1은 '0x'를 붙여주고, 2는 '0x'를 빼줍니다.