9.1.6 비트 필드 리터럴
비트 필드 값은 b'
또는 value
'0b
표기를 사용하여 작성할 수 있습니다. value
value
는 0과 1로 된 2 진수 값입니다.
비트 필드 표기는 BIT
컬럼에 할당 된 값을 지정하는 데 유용합니다.
mysql>CREATE TABLE t (b BIT(8));
mysql>INSERT INTO t SET b = b'11111111';
mysql>INSERT INTO t SET b = b'1010';
mysql>INSERT INTO t SET b = b'0101';
비트 값은 2 진수로 반환됩니다. 그들을 출력 가능한 형식으로 표시하려면 0을 추가하거나 BIN()
같은 변환 함수를 사용합니다. 변환 된 값은 상위의 0 비트가 표시되지 않습니다.
mysql> SELECT b+0, BIN(b+0), OCT(b+0), HEX(b+0) FROM t;
+------+----------+----------+----------+
| b+0 | BIN(b+0) | OCT(b+0) | HEX(b+0) |
+------+----------+----------+----------+
| 255 | 11111111 | 377 | FF |
| 10 | 1010 | 12 | A |
| 5 | 101 | 5 | 5 |
+------+----------+----------+----------+
사용자 변수에 할당 된 비트 값은 바이너리 문자열로 처리됩니다. 비트 값을 숫자로 사용자 변수에 할당하려면 CAST()
또는 +0
을 사용합니다.
mysql>SET @v1 = 0b1000001;
mysql>SET @v2 = CAST(0b1000001 AS UNSIGNED), @v3 = 0b1000001+0;
mysql>SELECT @v1, @v2, @v3;
+------+------+------+ | @v1 | @v2 | @v3 | +------+------+------+ | A | 65 | 65 | +------+------+------+