Mailinglisten-Archive |
Armin Steiner wrote:
> nix ergebnis ... Kann ich MySQL irgendwie anweisen, Case-Insensitive zu
> werden ?
> Oder mittels PHP das irgendwie zusammenbasteln? (Upper/Lowercase hilft ja
> nix).
mysql> create table beispiel ( s varchar(80), t varchar(80) binary );
Query OK, 0 rows affected (0.29 sec)
mysql> insert into beispiel set s="forum", t="forum";
Query OK, 1 row affected (0.00 sec)
mysql> insert into beispiel set s="Forum", t="Forum";
Query OK, 1 row affected (0.00 sec)
mysql> insert into beispiel set s="FoRuM", t="FoRuM";
Query OK, 1 row affected (0.00 sec)
mysql> select s from beispiel where s="forum";
+-------+
| s |
+-------+
| forum |
| Forum |
| FoRuM |
+-------+
3 rows in set (0.01 sec)
mysql> select t from beispiel where t="forum";
+-------+
| t |
+-------+
| forum |
+-------+
1 row in set (0.00 sec)
mysql> select t from beispiel where lcase(t) = "forum";
+-------+
| t |
+-------+
| forum |
| Forum |
| FoRuM |
+-------+
3 rows in set (0.00 sec)
mysql> select s from beispiel where binary s = "forum";
ERROR 1064: You have an error in your SQL syntax near 'binary s = "forum"' at line 1
mysql> select version();
+-------------+
| version() |
+-------------+
| 3.22.21-log |
+-------------+
1 row in set (0.00 sec)
http://www.tcx.se/Manual_chapter/manual_Reference.html#Casts
7.4.7 Cast operators
BINARY
The BINARY operator casts the string following it to a binary string. This is an easy way to force a column comparison to be case sensitive even if the column isn't defined as BINARY or BLOB.
mysql> select "a" = "A";
-> 1
mysql> select BINARY "a" = "A";
-> 0
BINARY was introduced in MySQL 3.23.0
+---+
\H/
v
--
Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
Using PHP3? See our web development library at
http://phplib.netuse.de/ (We have moved! Update your bookmarks!)
php::bar PHP Wiki - Listenarchive