VARBINARY
Variable-length binary string type. VARBINARY columns store binary strings of variable length up to a specified maximum.
Last updated
Was this helpful?
Was this helpful?
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 1TRUNCATE varbins;
INSERT INTO varbins VALUES('A'),('B'),('a'),('b');
SELECT * FROM varbins ORDER BY a;
+------+
| a |
+------+
| A |
| B |
| a |
| b |
+------+SELECT * FROM varbins ORDER BY CAST(a AS CHAR);
+------+
| a |
+------+
| a |
| A |
| b |
| B |
+------+CREATE TABLE varbinary_example (
description VARCHAR(20),
example VARBINARY(65511)
) DEFAULT CHARSET=latin1; -- One byte per char makes the examples clearerINSERT INTO varbinary_example VALUES
('Normal foo', 'foo'),
('Trailing spaces foo', 'foo '),
('NULLed', NULL),
('Empty', ''),
('Maximum', RPAD('', 65511, CHAR(7)));SELECT description, LENGTH(example) AS length
FROM varbinary_example;+---------------------+--------+
| description | length |
+---------------------+--------+
| Normal foo | 3 |
| Trailing spaces foo | 9 |
| NULLed | NULL |
| Empty | 0 |
| Maximum | 65511 |
+---------------------+--------+TRUNCATE varbinary_example;
INSERT INTO varbinary_example VALUES
('Overflow', RPAD('', 65512, CHAR(7)));ERROR 1406 (22001): Data too long for column 'example' at row 1