robertroth: SQL Syntax 4 stellig

Beitrag lesen

Liebe Mitdenker, liebe Wissende, liebe Neugierige,

ja!

Huhu

WHERE LENGTH(spalte) = 4 AND spalteLIKE '%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 wie

spalte 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!