BIT
Синтаксис
BIT[(M)]
Описание
Тип битового поля. M указывает количество битов на значение, от 1 до 64. Значение по умолчанию 1 если M опущено.
Битовые значения можно вставить с помощью b'value' обозначения, где value представляет собой битовое значение в 0 и 1.
Битовые поля автоматически заполняются нулями слева до полной длины бита, поэтому, например, в поле BIT(4) значение '10' эквивалентно '0010'.
Биты возвращаются в двоичном формате, поэтому для отображения их необходимо добавить 0 или использовать функцию, такую как HEX, OCT или BIN для преобразования.
Примеры
CREATE TABLE b ( b1 BIT(8) );
При режиме строгости по умолчанию, начиная с MariaDB 10.2.4:
INSERT INTO b VALUES (b'11111111'); INSERT INTO b VALUES (b'01010101'); INSERT INTO b VALUES (b'1111111111111'); ERROR 1406 (22001): Data too long for column 'b1' at row 1 SELECT b1+0, HEX(b1), OCT(b1), BIN(b1) FROM b; +------+---------+---------+----------+ | b1+0 | HEX(b1) | OCT(b1) | BIN(b1) | +------+---------+---------+----------+ | 255 | FF | 377 | 11111111 | | 85 | 55 | 125 | 1010101 | +------+---------+---------+----------+
При режиме строгости выключенном, по умолчанию до MariaDB 10.2.3:
INSERT INTO b VALUES (b'11111111'),(b'01010101'),(b'1111111111111'); Query OK, 3 rows affected, 1 warning (0.10 sec) Records: 3 Duplicates: 0 Warnings: 1 SHOW WARNINGS; +---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1264 | Out of range value for column 'b1' at row 3 | +---------+------+---------------------------------------------+ SELECT b1+0, HEX(b1), OCT(b1), BIN(b1) FROM b; +------+---------+---------+----------+ | b1+0 | HEX(b1) | OCT(b1) | BIN(b1) | +------+---------+---------+----------+ | 255 | FF | 377 | 11111111 | | 85 | 55 | 125 | 1010101 | | 255 | FF | 377 | 11111111 | +------+---------+---------+----------+
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/bit/