Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 비트(Bit) 값을 읽기 쉬운 형식으로 출력하는 방법

MySQL에서 BIT 타입의 값은 기본적으로 이진(binary) 값 그대로 반환되기 때문에 화면에 출력하면 알아보기 어려운 경우가 많습니다. 하지만 몇 가지 간단한 방법을 사용하면 비트 값을 사람이 읽을 수 있는 형식으로 손쉽게 변환할 수 있습니다.

방법 1: 0을 더하기

비트 값에 숫자 0을 더하면 MySQL이 해당 값을 정수로 해석하여 결과를 출력합니다. 아래 예제는 bit_testing 테이블을 사용한 것입니다.

mysql> Select bittest+0 from bit_testing;
+-----------+
| bittest+0 |
+-----------+
|       170 |
|         5 |
|         5 |
+-----------+
3 rows in set (0.00 sec)

위 결과에서 볼 수 있듯이, 원래 이진 값으로 저장되어 있던 데이터가 170, 5와 같은 십진수 형태로 깔끔하게 출력됩니다.

방법 2: 변환 함수 BIN(), OCT(), HEX() 활용하기

MySQL에서 제공하는 변환 함수를 사용하면 비트 값을 다양한 진법의 문자열로 변환하여 표시할 수 있습니다.

BIN() - 2진수로 변환

BIN() 함수는 값을 2진수 문자열로 변환합니다.

mysql> Select BIN(bittest+0) from bit_testing;
+----------------+
| BIN(bittest+0) |
+----------------+
| 10101010       |
| 101            |
| 101            |
+----------------+
3 rows in set (0.00 sec)

OCT() - 8진수로 변환

OCT() 함수는 값을 8진수 문자열로 변환합니다.

mysql> Select OCT(bittest+0) from bit_testing;
+----------------+
| OCT(bittest+0) |
+----------------+
| 252            |
| 5              |
| 5              |
+----------------+
3 rows in set (0.05 sec)

HEX() - 16진수로 변환

HEX() 함수는 값을 16진수 문자열로 변환합니다.

mysql> Select HEX(bittest+0) from bit_testing;
+----------------+
| HEX(bittest+0) |
+----------------+
| AA             |
| 5              |
| 5              |
+----------------+
3 rows in set (0.00 sec)

정리

비트 값을 출력 가능한 형식으로 표시하는 방법은 크게 두 가지입니다. 첫째, 값에 0을 더해 십진수로 변환하는 방법이고, 둘째, BIN(), OCT(), HEX() 같은 변환 함수를 사용해 각각 2진수, 8진수, 16진수 문자열로 변환하는 방법입니다. 상황에 맞는 방식을 선택하면 비트 데이터를 훨씬 직관적으로 확인할 수 있습니다.