Spec-Zone .ru
спецификации, руководства, описания, API
|
Значения битового поля могут быть записаны, используя b'
или value
'0b
нотация. value
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 |+------+------+------+