Spec-Zone .ru
спецификации, руководства, описания, API

9.1.6. Литералы битового поля

Значения битового поля могут быть записаны, используя b'value' или 0bvalue нотация. value двоичное значение, записанное, используя нули и.

Нотация битового поля удобна для того, чтобы определить значения, которые будут присвоены 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';

Битовые значения возвращаются как двоичные значения. Чтобы вывести на экран их в печатаемой форме, добавьте 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 |+------+------+------+