User Documentation
Ispirer Capabilities - MySQL Migration
Pricing
MySQL Data Types - BINARY
Versions: MySQL 5.x, 4.x and 3.23
MySQL - BINARY | |
---|---|
Syntax | BINARY[(n)] |
Data | Fixed-length binary data |
Parameters | n is the maximum number of bytes, optional |
Range | 0 ⇐ n ⇐ 255 |
Default | n is 1 |
Padding | Right-padded with 0 bytes to n |
Trailing Zeros | Not removed when the value is retrieved. Trailing zeros are significant in comparisons |
Empty String | BINARY(0) is allowed that can store 2 values: '' (empty string) and NULL |
Error Handling | Exceeding data truncated and a warning is generated if strict SQL mode is not enabled, otherwise an error is raised |
Storage Size | n bytes |
Standards | MySQL Extension |
Example:
mysql>CREATE TABLE tab_bin (c1 BINARY(0)); mysql>INSERT INTO tab_bin VALUES (NULL); mysql>INSERT INTO tab_bin VALUES (0); ERROR 1406 (22001): Data too long for column 'c1' at row 1 mysql>INSERT INTO tab_bin VALUES (0x0); ERROR 1406 (22001): Data too long for column 'c1' at row 1 mysql>INSERT INTO tab_bin VALUES (''); Query OK, 1 row affected (0.35 sec) mysql>SELECT * FROM tab_bin; +------+ | c1 | +------+ | NULL | | | +------+ 2 rows in set (0.03 sec)
MySQL BINARY - Equivalents in Other Databases
Database | Data Type and Conversion |
---|---|
Oracle | RAW(n), 0 ⇐ n ⇐ 2000, not right padded, variable length |
SQL Server | BINARY(n), 1 ⇐ n ⇐ 8000 |
PostgreSQL | BYTEA, variable length, 2G |
Sybase ASE | BINARY(n), 1 ⇐ n ⇐ pagesize (2K, 4K, 8K or 16K) |
Informix | BYTE, 2G, BLOB, 2T |
Related Data Types in MySQL
Data Types | ||||
---|---|---|---|---|
Variable-length binary data | VARBINARY(n) | TINYBLOB | BLOB | MEDIUMBLOB |
Binary large objects | LONGBLOB |
All Data Types