MySQL :: MySQL 5.7 Reference Manual :: 12.4.2 The BINARY and VARBINARY Types

MySQL :: MySQL 5.7 Reference Manual :: 12.4.2 The BINARY and VARBINARY Types Contact MySQL  |  Login  |  Register The world's most popular open source database MySQL.com Downloads Documentation Developer Zone Developer Zone Downloads MySQL.com Documentation MySQL Server MySQL Enterprise Workbench Router Utilities/Fabric MySQL NDB Cluster Connectors More MySQL.com Downloads Developer Zone Section Menu:   Documentation Home MySQL 5.7 Reference Manual Preface and Legal Notices General Information Installing and Upgrading MySQL Using MySQL as a Document Store Tutorial MySQL Programs MySQL Server Administration Security Backup and Recovery Optimization Language Structure Globalization Data Types Data Type Overview Numeric Type Overview Date and Time Type Overview String Type Overview Numeric Types Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT Fixed-Point Types (Exact Value) - DECIMAL, NUMERIC Floating-Point Types (Approximate Value) - FLOAT, DOUBLE Bit-Value Type - BIT Numeric Type Attributes Out-of-Range and Overflow Handling Date and Time Types The DATE, DATETIME, and TIMESTAMP Types The TIME Type The YEAR Type YEAR(2) Limitations and Migrating to YEAR(4) Automatic Initialization and Updating for TIMESTAMP and DATETIME Fractional Seconds in Time Values Conversion Between Date and Time Types Two-Digit Years in Dates String Types The CHAR and VARCHAR Types The BINARY and VARBINARY Types The BLOB and TEXT Types The ENUM Type The SET Type Extensions for Spatial Data Spatial Data Types The OpenGIS Geometry Model The Geometry Class Hierarchy Geometry Class Point Class Curve Class LineString Class Surface Class Polygon Class GeometryCollection Class MultiPoint Class MultiCurve Class MultiLineString Class MultiSurface Class MultiPolygon Class Using Spatial Data Supported Spatial Data Formats Creating Spatial Columns Populating Spatial Columns Fetching Spatial Data Optimizing Spatial Analysis Creating Spatial Indexes Using Spatial Indexes The JSON Data Type Data Type Default Values Data Type Storage Requirements Choosing the Right Type for a Column Using Data Types from Other Database Engines Functions and Operators SQL Statement Syntax The InnoDB Storage Engine Alternative Storage Engines High Availability and Scalability Replication MySQL NDB Cluster 7.5 Partitioning Stored Programs and Views INFORMATION_SCHEMA Tables MySQL Performance Schema MySQL sys Schema Connectors and APIs Extending MySQL MySQL Enterprise Edition MySQL Workbench MySQL 5.7 Frequently Asked Questions Errors, Error Codes, and Common Problems Restrictions and Limits Indexes MySQL Glossary Related Documentation MySQL 5.7 Release Notes Download this Manual PDF (US Ltr) - 35.7Mb PDF (A4) - 35.7Mb PDF (RPM) - 34.7Mb EPUB - 8.7Mb HTML Download (TGZ) - 8.5Mb HTML Download (Zip) - 8.5Mb HTML Download (RPM) - 7.3Mb Eclipse Doc Plugin (TGZ) - 9.3Mb Eclipse Doc Plugin (Zip) - 11.5Mb Man Pages (TGZ) - 203.5Kb Man Pages (Zip) - 308.9Kb Info (Gzip) - 3.3Mb Info (Zip) - 3.3Mb Excerpts from this Manual MySQL Backup and Recovery MySQL Globalization MySQL Information Schema MySQL Installation Guide MySQL and Linux/Unix MySQL and OS X MySQL Partitioning MySQL Performance Schema MySQL Replication Using the MySQL Yum Repository MySQL Restrictions and Limitations Security in MySQL MySQL and Solaris Building MySQL from Source Starting and Stopping MySQL MySQL Tutorial MySQL and Windows MySQL Cluster NDB 7.5 version 5.7 8.0 5.6 5.5 5.6  Japanese MySQL 5.7 Reference Manual  /  ...  /  Data Types  /  String Types  /  The BINARY and VARBINARY Types 12.4.2 The BINARY and VARBINARY Types The BINARY and VARBINARY types are similar to CHAR and VARCHAR , except that they contain binary strings rather than nonbinary strings. That is, they contain byte strings rather than character strings. This means they have the binary character set and collation, and comparison and sorting are based on the numeric values of the bytes in the values. The permissible maximum length is the same for BINARY and VARBINARY as it is for CHAR and VARCHAR , except that the length for BINARY and VARBINARY is a length in bytes rather than in characters. The BINARY and VARBINARY data types are distinct from the CHAR BINARY and VARCHAR BINARY data types. For the latter types, the BINARY attribute does not cause the column to be treated as a binary string column. Instead, it causes the binary (_bin) collation for the column character set to be used, and the column itself contains nonbinary character strings rather than binary byte strings. For example, CHAR(5) BINARY is treated as CHAR(5) CHARACTER SET latin1 COLLATE latin1_bin, assuming that the default character set is latin1. This differs from BINARY(5), which stores 5-bytes binary strings that have the binary character set and collation. For information about differences between binary strings and binary collations for nonbinary strings, see Section, “The binary Collation Compared to _bin Collations” . If strict