Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP/MySQL] Wieso ist diese Abfrage case-insensitive?

  Alt 1. Feb 2009, 09:30
Hallo miteinander,

ich habe eine ganz simple Datenbankabfrage, die aus einem Benutzernamen die zugehörige Benutzer-ID ermitteln soll. Das mache ich momentan so:

SELECT user_id FROM users WHERE user_name = 'Matze' LIMIT 1 Nun möchte ich, dass die Groß-/Kleinschreibung nicht berücksichtigt wird. Daher dachte ich, löse ich das folgendermaßen:

SELECT user_id FROM users WHERE LOWER(user_name) = 'matze' LIMIT 1 Das seltsame ist jedoch, dass die Groß-/Kleinschreibung bereits bei der obersten Abfrage ignoriert wird. Es ist zwar das, was ich erreichen möchte, doch verstehe ich nicht, wieso das bereits der Fall ist und ich nicht zuerst alles auf die gleiche Schreibweise bringen muss. Im Beispiel von PHP mit "LOWER()" und "strtolower()" bzw. "UPPER()" und "strtoupper()".

Warum ist das so?

Grüße, Matze
  Mit Zitat antworten Zitat