Cheatah: SELECT...LIKE...umgedreht

Beitrag lesen

Hi,

SELECT * FROM tabelle WHERE variable1 LIKE '%abc%'

dieses Statement enthält zwei Faktoren, die in einem kompetenten Software-Unternehmen als live-kritischer Bug kategorisiert werden würden.

Hoer bitte mal auf, von "Variablen in der Tabelle" zu reden, und nenne sie Spalten, wie das ueblich ist - dann wird vielleicht besser verstaendlich, was du eigentlich meinst.

Dieser Bitte schließe ich mich an.

Du meinst, du willst einen Datensatz finden, der in einer Spalte den Wert "abc" enthaelt, wenn du nach "abcde" gesucht hast?
Das ist auf trivialem Wege nicht moeglich.

Doch, unter Beibehaltung eines der o.g. live-kritischen Bugs.

SELECT * FROM tabelle WHERE '%variable1%' LIKE 'abcde'
Nein, das ist ungueltige Syntax.

Die Syntax ist gültig - ein ordentliches DBMS interessiert sich nicht dafür, ob man nun eine Spalte überprüft, einen String oder irgend etwas anderes, das in dem Kontext vergleichbar ist. Hier wird allerdings die Zeichenkette '%'+'v'+'a'+...+'%' auf Identität(!) mit der Zeichenkette 'abcde' überprüft.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes