640 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
A.4.6 Zeitzonen-Probleme
Wenn es Probleme damit gibt, dass SELECT NOW() Werte in GMT (Greenwich Mean Time)
zur¨uckgibt und nicht in Ihrer lokalen Zeit, m¨ussen Sie die TZ-Umgebungsvariable auf Ihre
aktuelle Zeitzone setzen. Das sollte f¨ur die Umgebung gemacht werden, in der der Server
l¨auft, zum Beispiel in safe_mysqld oder mysql.server. Siehe Anhang E [Environment
variables], Seite 707.
A.5 Anfragenbezogene Themen
A.5.1 Groß-/Kleinschreibung beim Suchen
Vorgabem¨aßig sind MySQL-Suchen unabh¨angig von der verwendeten Groß-
/Kleinschreibung (obwohl es einige Zeichens¨atze gibt, die nie unabh¨angig von der
verwendeten Groß-/Kleinschreibung sind, wie tschechisch). Wenn Sie daher mit
spalten_name LIKE ’a%’ suchen, erhalten Sie alle Spaltenwerte, die mit A oder a anfangen.
Wenn Sie die Suche abh¨angig von der verwendeten Groß-/Kleinschreibung machen wollen,
verwenden Sie etwas wie INSTR(spalten_name, "A")=1, um ein Pr¨afix zu ¨uberpr¨ufen,
oder benutzen Sie STRCMP(spalten_name, "A") = 0, wenn der Spaltenwert exakt "A" sein
muss.
Einfache Vergleichsoperationen (>=, >, = , < , <=, Sortieren und Gruppieren) basieren auf
dem “Sortierwert” jedes Zeichens. Buchstaben mit demselben Sortierwert (wie E, e und ´e)
werden als dasselbe Zeichen behandelt!
In ¨alteren MySQL-Versionen wurden LIKE-Vergleiche mit dem Großschreibungswert jedes
Zeichens durchgef¨uhrt (E == e, aber E <> ´e). In neueren MySQL-Versionen funktioniert
LIKE genau wie die anderen Vergleichsoperatoren.
Wenn Sie wollen, dass eine Spalte immer abh¨angig von der verwendeten Groß-
/Kleinschreibung behandelt wird, deklarieren Sie sie als BINARY. Siehe Abschnitt 7.5.3
[CREATE TABLE], Seite 456.
Wenn Sie chinesische Daten in der so genannten Big5-Kodierung verwenden, sollten Sie
alle Zeichenspalten BINARY machen. Das funktioniert, weil die Sortierreihenfolge von Big5-
Zeichen auf der Reihenfolge von ASCII-Codes basiert.
A.5.2 Probleme bei der Benutzung von DATE-Spalten
Das Format eines DATE-Werts ist ’YYYY-MM-DD’. Gem¨aß ANSI-SQL ist kein anderes Format
zul¨assig. Sie sollten dieses Format in UPDATE-Ausdr¨ucken und in der WHERE-Klausel von
SELECT-Statements benutzen. Beispiel:
mysql> SELECT * FROM tabelle WHERE date >= ’1997-05-05’;
Aus Gr¨unden der Annehmlichkeit konvertiert MySQL automatisch ein Datum in eine Zahl,
wenn das Datum in einem numerischen Zusammenhang benutzt wird (und umgekehrt).
MySQL unterst¨utzt ausserdem ein “entspanntes” Zeichenkettenformat beim Aktualisieren
Kommentare zu diesen Handbüchern