The binary
character set is the chararcter
set of binary strings, which are sequences of bytes. The
binary
character set has one collation, also
named binary
. Comparison and sorting are
based on numeric byte values. The effect is that lettercase and
accent differences are significant in comparisons. That is, the
binary
collation is case-sensitive and accent
sensitive.
mysql> SET NAMES 'binary';
mysql> SELECT CHARSET('abc'), COLLATION('abc');
+----------------+------------------+
| CHARSET('abc') | COLLATION('abc') |
+----------------+------------------+
| binary | binary |
+----------------+------------------+
mysql> SELECT 'abc' = 'ABC', 'a' = 'ä';
+---------------+------------+
| 'abc' = 'ABC' | 'a' = 'ä' |
+---------------+------------+
| 0 | 0 |
+---------------+------------+
For information about the differences between the
binary
collation of the
binary
character set and the
_bin
collations of nonbinary character sets,
see Section 10.8.5, “The binary Collation Compared to _bin Collations”.
To convert a string expression to a binary string, any of these constructs are equivalent:
BINARY expr
CAST(expr AS BINARY)
CONVERT(expr USING BINARY)
If expr
is a character string
literal, the _binary
introducer may be used
to designate it as a binary string. For example:
_binary 'a'
The _binary
introducer is permitted for
hexadecimal literals and bit-value literals as well, but
unnecessary; such literals are binary strings by default.
For more information about introducers, see Section 10.3.8, “Character Set Introducers”.