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

Frage: LIKE - Operator

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von script1, 20 April 2012.

  1. script1

    script1 Benutzer

    Hallo,
    ich hab mal eine Frage und zwar benutze ich in einer Abfrage den LIKE - Operator. Die Abfrage ist folgende:

    WHERE feld1 LIKE '%'+feld2+'%'

    Werte:
    feld1= "Die ist ein Test"
    feld2="ist ein"

    Die Abfrage funktioniert aber nur wenn ich in das feld2 "ist ein Test" schreibe. Allerdings würde ich dies gerne umgehen, sodass die Abfrage auch funktioniert wenn ich nur den mittleren Teil habe. Hat hier zu noch jemand eine Idee?

    Gruß
     
  2. ukulele

    ukulele Datenbank-Guru

    Ich nutze nie * als Platzhalter sondern immer %, damit funktioniert das eigentlich.
    Code:
    WHERE feld1 LIKE '%' + feld2 + '%'
     
  3. script1

    script1 Benutzer

    Mh leider ignoriert er den hinteren Teil immer noch nicht :(
    Ich benutze übrigens einen MS SQL Server 2008 R2 aber das sollte ja eigentlich nicht damit zu tun haben ;)
     
  4. ukulele

    ukulele Datenbank-Guru

    Merkwürdig, teste es mal mit
    Code:
    WHERE feld1 LIKE '%' + 'fester text' + '%'
    Ansonsten kannst du vieleicht ausweichen:
    Code:
    WHERE feld1 LIKE '%' + 'feld2' + '%'
    OR feld1 LIKE 'feld2' + '%'
    OR feld1 LIKE '%' + 'feld2'
    Aber richtig kann das eigentlich nicht sein. Sind beide Felder VARCHAR Werte oder ist CHAR oder TEXT oder NVARCHAR dabei?
     
    PLSQL_SQL gefällt das.
  5. script1

    script1 Benutzer

    Also beide Felder sind NVARCHAR's allerdings einmal nvarchar(128) und einmal nvarchar(256). Liegt es vielleicht daran?
     
  6. ukulele

    ukulele Datenbank-Guru

    Das sollte auf jedenfall gehen solange der zu suchende String nicht länger als der durchsuchte String ist.
     
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