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

MySQL에서 2진수(BINARY) 값으로 숫자를 입력하는 방법

MySQL에서는 숫자 값을 2진수(BINARY) 형태로 입력해야 하는 경우가 있습니다. 예를 들어 비트 연산을 수행하거나, 특정 비트 패턴을 명확하게 표현하고 싶을 때 유용합니다. MySQL은 이를 위해 두 가지 방법을 제공하며, 두 방식 모두 작성된 2진수 문자열이 표현식의 문맥에 따라 자동으로 숫자 값으로 변환됩니다.

방법 1: 접두사 'B' 사용

첫 번째 방법은 2진수를 작은따옴표(')로 감싸고 앞에 접두사 B를 붙이는 것입니다. 이렇게 작성하면 해당 2진수 문자열이 표현식의 문맥에 맞게 자동으로 숫자 값으로 변환됩니다.

예제

mysql> Select B'1110'+0;
+-----------+
| B'1110'+0 |
+-----------+
|        14 |
+-----------+
1 row in set (0.00 sec)

위 예제에서 2진수 B'1110'은 십진수로 변환되어 14라는 결과를 반환합니다. 여기서 +0은 결과를 숫자 형태로 명시적으로 표시하기 위해 사용한 것입니다.

방법 2: 접두사 0b 사용

두 번째 방법은 따옴표 없이 2진수를 그대로 작성하고 앞에 접두사 0b를 붙이는 것입니다. 이 역시 표현식의 문맥에 따라 자동으로 숫자 값으로 변환됩니다.

예제

mysql> Select 0b1110+0;
+----------+
| 0b1110+0 |
+----------+
|       14 |
+----------+
1 row in set (0.00 sec)

마찬가지로 0b1110도 십진수 14로 변환되어 동일한 결과를 출력합니다.

정리

두 방식 모두 같은 결과를 내지만, 상황에 따라 가독성 면에서 차이가 있을 수 있습니다. SQL 문자열 안에서 다른 리터럴과 함께 사용할 때는 따옴표를 사용하는 B'...' 방식이 더 명확할 수 있고, 간결한 표기를 선호한다면 0b... 방식이 편리합니다. 참고로 2진수 리터럴의 최대 길이는 64비트이며, 이를 초과하면 경고와 함께 잘린 값이 사용될 수 있으므로 주의해야 합니다.