1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

LIKE und Wildcards

Dieses Thema im Forum "SQLite" wurde erstellt von i2stiller, 23 November 2018.

  1. i2stiller

    i2stiller Benutzer

    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
     
  2. castorp

    castorp Fleissiger Benutzer

    Du hast TXT im Parameter für LIKE aber TST in den Werten.
     
  3. i2stiller

    i2stiller Benutzer

    Sorry, da war das Beispiel fehlerhaft. Natürlich ist es überall TST :)
     
  4. castorp

    castorp Fleissiger Benutzer

  5. i2stiller

    i2stiller Benutzer

    Strange
    Sobald ich wieder zu hause bin checke ich das nochmals
     
  6. i2stiller

    i2stiller Benutzer

    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
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden