Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

mit SQL in Tabelle suchen

Empfohlene Antworten

Hallo alle zusammen,

ich möchte in meiner Tabelle gerne hergehen und nach einem Namen suchen. Also so:

select name, vorname from Tabelle

where name = 'Nausi'

wenn ich mit like arbeite dann bekomme ich auch den Datensatz zurück wenn 'nausi' eingegeben wurde.

Gibt es denn auch ne Möglichkeit das wenn nur 'naus' eingegeben wurde den Datensatz 'Nausi' zurückzubekommen.

Oder wie ist das mit Maier, ich möchte gerne das wenn nach Maier gesucht wird auch Mayer, Meier usw ausgegeben wird, gibts da ne besondere Möglichkeit?

Dank euch

eure Nausi

Original geschrieben von Nausi

wenn ich mit like arbeite dann bekomme ich auch den Datensatz zurück wenn 'nausi' eingegeben wurde.

Gibt es denn auch ne Möglichkeit das wenn nur 'naus' eingegeben wurde den Datensatz 'Nausi' zurückzubekommen.

Du könntest es mit "in" versuchen. Also

where name in('naus', 'nausi',...)

Dann bringt er Dir aber alle Datensätze, in denen "naus" oder "nausi" steht.

Ich weiss nicht, ob ich Deine Frage so richtig verstanden habe... :rolleyes:

Ach so: Bei Mayer,Meier,Maier kannst Du doch einfach

like 'M%er'
sagen, dann bringt er eh alle.
Original geschrieben von Nausi

Gibt es denn auch ne Möglichkeit das wenn nur 'naus' eingegeben wurde den Datensatz 'Nausi' zurückzubekommen.

Hmmm...

Wie hast du denn mit "like" gearbeitet, wenn er auch den Satz "nausi" gefunden hat? Welche DB verwendest du denn?

Bei Oracle würde der Satz so nicht gefunden werden, da müsste man explizit in lowercase umwandeln, nämlich so:

select vorname, name

from tabelle

where lower(name) like '%naus%';
So findest du alle Sätze unabhängig von Groß-/Kleinschreibung, die irgendwo im Namen den Text "naus" enthalten, also auch z.B. "Knauser".
Oder wie ist das mit Maier, ich möchte gerne das wenn nach Maier gesucht wird auch Mayer, Meier usw ausgegeben wird, gibts da ne besondere Möglichkeit?
Hierbei handelt es sich um eine sog. phonetische Suche. Oracle unterstützt so etwas auch. Allerdings muss dafür meines Wissens nach die Intermedia Text Cartridge installiert und die Spalte auch indiziert sein. Ein entsprechender Aufruf sieht folgendermaßen aus:
select vorname, name

from tabelle

where contains(name, '?meyer') > 0;

Einige Datenbanken unterstützen die Funktion SOUNDEX.

Der Syntax ist z.B. bei Oracle folgendermaßen:


 select name from tPersonen where soundex(Name)=soundex('Meyer');


NAME

-------

Meyer

Mayer

Maier

Purpose

SOUNDEX returns a character string containing the phonetic representation of char. This function lets you compare words that are spelled differently, but sound alike in English.

Da brauch man kein Intermedia Text.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.