LIKE und Wildcards

i2stiller

Benutzer
Beiträge
9
Guude in die Runde

Ich beschäftige mich schon seit über 30 Jahren (beruflich) mit Datenbanken wie Informix, Oracle, MS-SQL, ...
Jetzt wollte ich mal privat mit SQLite anfangen.
Das Installieren (SQLiteStudio) und das Anlegen einer ersten Datenbank hat ja alles super geklappt.
Nun wollte ich aber mal schnell eine Abfrage schreiben, die auch einen LIKE Befehl beinhaltet.
In der Datebank stehen in der Tabelle TAB1 im Feld FLD1 Werte wie
'ABC_IDX_TST_01'
'XYZ_IDX_TST_02'
'XYZ_IDX_TST_03'
....
Die Abfrage soll lauten:
SELECT * FROM TAB1 WHERE FLD1 LIKE '%IDX_TXT%'

Okay, der Underline ist ein Wildcard-Zeichen, sollte also interpretiert werden.
Und zwar steht "_" für ein beliebiges Zeichen, so auch für das "_" im Feld selbst
Aber im Gegensatz zu MS-SQL bekomme ich keinen Treffer angezeigt.
Also mal in der Doku gestöbert, die es so Online gibt.
Ah, auch SQLite kennt ESCAPE, also
SELECT * FROM TAB1 WHERE FLD1 LIKE '%IDX_TXT%' ESCAPE '_' ; laut Online Info
oder
SELECT * FROM TAB1 WHERE FLD1 LIKE '%IDX#_TXT%' ESCAPE '#' ; MS_SQL-Like

Nope, kein einziger Satz wird zurück geliefert.
Ein
SELECT CASE SUBSTR(FLD1,8,1)='_' THEN 1 ELSE 0 END FROM TBL1
bestätigt, dass dort ein Underline steht und kein sonstiges Zeichen

Vielleicht kann ja einer der Experten mir einen Tipp geben, was ich falsch mache :)

Gruß Ingo
 
Werbung:
Werbung:
Hi Castorp
War meine eigen Dämlichkeit.
Das mit TXT und TST war zwar nicht die Ursache, aber ein ähnlichen Buchstabendreher war in den Echtdaten.
Danke trotzdem für den leichten Schlag auf den Hinterkopf :)

Gruß Ingo
 
Zurück
Oben