398 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
werden bei Bedarf automatisch in Zahlen und Zahlen in Zeichenketten umgewandelt (wie
in Perl oder PHP).
MySQL f¨uhrt Vergleiche nach folgenden Regeln durch:
• Wenn ein oder beide Argumente NULL sind, ist das Ergebnis des Vergleichs NULL, ausser
beim <=> Operator.
• Wenn beide Argumente in einer Vergleichsoperation Zeichenketten sind, werden sie als
Zeichenketten verglichen.
• Wenn beide Argumente Ganzzahlen sind, werden sie als Ganzzahlen verglichen.
• Hexadezimale Werte werden als bin¨are Zeichenketten behandelt, wenn sie nicht mit
einer Zahl verglichen werden.
• Wenn eins der Argumente eine TIMESTAMP- oder DATETIME-Spalte ist und das andere
Argument eine Konstante, wird die Konstante in einen Zeitstempel umgewandelt, bevor
der Vergleich durchgef¨uhrt wird. Das wird gemacht, um ODBC-freundlicher zu sein.
• In allen anderen F¨allen werden die Argumente als Fließkommazahlen verglichen.
Vorgabem¨aßig werden Zeichenketten-Vergleiche unabh¨angig von der verwendeten Groß-
/Kleinschreibung durchgef¨uhrt, indem der aktuelle Zeichensatz benutzt wird (vorgabem¨aßig
ISO-8859-1 Latin1, der auch f¨ur englisch exzellent funktioniert).
Die unten stehenden Beispiele erl¨autern die Umwandlung von Zeichenketten in Zahlen f¨ur
Vergleichsoperationen:
mysql> SELECT 1 > ’6x’;
-> 0
mysql> SELECT 7 > ’6x’;
-> 1
mysql> SELECT 0 > ’x6’;
-> 0
mysql> SELECT 0 = ’x6’;
-> 1
= Gleich:
mysql> select 1 = 0;
-> 0
mysql> select ’0’ = 0;
-> 1
mysql> select ’0.0’ = 0;
-> 1
mysql> select ’0.01’ = 0;
-> 0
mysql> select ’.01’ = 0.01;
-> 1
<>
!= Ungleich:
mysql> select ’.01’ <> ’0.01’;
-> 1
mysql> select .01 <> ’0.01’;
Comentarios a estos manuales