ursus contionabundo: Eine mögliche Lösung

Beitrag lesen

Jeglicher String wird also von mysql als 0 interpretiert, korrekt?

Nein.


> select 1 = "1abc";

+------------+
| 1 = "1abc" |
+------------+
|          1 |
+------------+
1 row in set, 1 warning (0.00 sec)


> select 1 = "abc1";

+------------+
| 1 = "abc1" |
+------------+
|          0 |
+------------+
1 row in set, 1 warning (0.00 sec)

Jeglicher String, der sich nicht als Zahl interpretieren lässt (konkret mit der Darstellung einer solchen beginnt) wird beim Vergleich mit einer Zahl zu 0 konvertiert.