Liebe Mitdenker, liebe Wissende, liebe Neugierige,
ja!
Huhu
WHERE LENGTH(
spalte
) = 4 ANDspalte
LIKE '%1%'sein, und zwar genau in dieser Reihenfolge.
Die Reihenfolge von Bedingungen innerhalb von where ist völlig irrelevant. Der Optimizer der Datenbank schiebt sich das so zurecht, wie das am effizientesten ausgeführt werden kann.
Wenn das DBMS denn einen Optimizer hat... MMn ist es nicht verkehrt, das in einer plausibel "richtigen" Reihenfolge zu notieren. WEnn das DBMS dann einen Optimizer hat, ist es ja kein Schaden!
Btw, wenn
spalte
nummerisch sein sollte, bedeutet ein Vergleich mit Like immer eine Typkonvertierung, damit wäre dann kein normaler Index mehr nutzbar. Für Zahlen wäre also eine Suche wiespalte between 1000 and 1999
Das hatten wir schon diskutiert. MMn hat hier der deklarierte Spaltentyp Priorität und nicht der übergebene Suchstring. Der muss dann ggf. allerdings umgewandelt werden.
Wenn die Spalte als Stringtyp deklatiert wurde, wird sie sich eventuell wohl kein "between" gefallen lassen.
Spirituelle Grüße
Euer Robert
Möge der wahre Forumsgeist ewig leben!