Vinzenz Mai: Mysql String Vergleich

Beitrag lesen

Hallo Christopher,

Gegeben ist eine varchar-Spalte und ein String in WHERE Abfrage. Der String ist NICHT in der Datenbank vorhanden (ein Leerzeichen hängt am Ende hintendran). Führe ich den Query aus, findet Mysql DENNOCH (trotz Nichtvorhandensein) die Zeile.

SELECT id,name FROM product WHERE style_code='ckj1074-p ' /* returns 1 row - but SHOULD NOT, only 'ckj1074-p' */

  
[works as designed](http://dev.mysql.com/doc/refman/5.0/en/char.html), ich zitiere aus dem verlinkten Handbuchabschnitt:  
  
   "All MySQL collations are of type PADSPACE. This means that all CHAR and  
    VARCHAR values in MySQL are compared without regard to any trailing spaces."  
  
  
Freundliche Grüße  
  
Vinzenz