DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) charset-binary-op

Info Catalog (mysql.info) charset-collate-precedence (mysql.info) charset-collations (mysql.info) charset-collate-tricky
 
 10.5.3 `BINARY' Operator
 ------------------------
 
 The `BINARY' operator casts the string following it to a binary string.
 This is an easy way to force a comparison to be done byte by byte
 rather than character by character. `BINARY' also causes trailing spaces
 to be significant.
 
      mysql> SELECT 'a' = 'A';
              -> 1
      mysql> SELECT BINARY 'a' = 'A';
              -> 0
      mysql> SELECT 'a' = 'a ';
              -> 1
      mysql> SELECT BINARY 'a' = 'a ';
              -> 0
 
 `BINARY STR' is shorthand for `CAST(STR AS BINARY)'.
 
 The `BINARY' attribute in character column definitions has a different
 effect. A character column defined with the `BINARY' attribute is
 assigned the binary collation of the column's character set. Every
 character set has a binary collation. For example, the binary collation
 for the `latin1' character set is `latin1_bin', so if the table default
 character set is `latin1', these two column definitions are equivalent:
 
      CHAR(10) BINARY
      CHAR(10) CHARACTER SET latin1 COLLATE latin1_bin
 
 The effect of `BINARY' as a column attribute differs from its effect
 prior to MySQL 4.1. Formerly, `BINARY' resulted in a column that was
 treated as a binary string. A binary string is a string of bytes that
 has no character set or collation, which differs from a non-binary
 character string that has a binary collation. For both types of
 strings, comparisons are based on the numeric values of the string
 unit, but for non-binary strings the unit is the character and some
 character sets allow multi-byte characters.  binary-varbinary.
 
 The use of `CHARACTER SET binary' in the definition of a `CHAR',
 `VARCHAR', or `TEXT' column causes the column to be treated as a binary
 data type. For example, the following pairs of definitions are
 equivalent:
 
      CHAR(10) CHARACTER SET binary
      BINARY(10)
 
      VARCHAR(10) CHARACTER SET binary
      VARBINARY(10)
 
      TEXT CHARACTER SET binary
      BLOB
 
Info Catalog (mysql.info) charset-collate-precedence (mysql.info) charset-collations (mysql.info) charset-collate-tricky
automatically generated byinfo2html