Spec-Zone.ru › MariaDB

VARBINARY

Синтаксис

VARBINARY(M)

Описание

Тип VARBINARY похож на тип VARCHAR, но хранит двоичные байтовые строки, а не недвоичные символьные строки. M представляет максимальную длину столбца в байтах.

Он не содержит кодировку символов, а сравнение и сортировка основаны на числовом значении байтов.

Если максимальная длина превышена, а строгий режим SQL не включен, дополнительные символы будут удалены с предупреждением. Если строгий режим включен, произойдет ошибка.

В отличие от значений BINARY, VARBINARY не дополняется справа нулями при вставке.

Режим Oracle

MariaDB начиная с 10.3

В режиме Oracle с MariaDB 10.3, RAW является синонимом для VARBINARY.

Примеры

Вставка слишком многих символов, сначала без строгого режима, а затем с ним:

CREATE TABLE varbins (a VARBINARY(10));

INSERT INTO varbins VALUES('12345678901');
Query OK, 1 row affected, 1 warning (0.04 sec)

SELECT * FROM varbins;
+------------+
| a          |
+------------+
| 1234567890 |
+------------+

SET sql_mode='STRICT_ALL_TABLES';

INSERT INTO varbins VALUES('12345678901');
ERROR 1406 (22001): Data too long for column 'a' at row 1

Сортировка выполняется по значению байта:

TRUNCATE varbins;

INSERT INTO varbins VALUES('A'),('B'),('a'),('b');

SELECT * FROM varbins ORDER BY a;
+------+
| a    |
+------+
| A    |
| B    |
| a    |
| b    |
+------+

Использование CAST для сортировки как CHAR вместо этого:

SELECT * FROM varbins ORDER BY CAST(a AS CHAR);
+------+
| a    |
+------+
| a    |
| A    |
| b    |
| B    |
+------+

См. также

  • VARCHAR
  • Требования к хранению типов данных
  • Режим Oracle с MariaDB 10.3
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/varbinary/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API