![]() |
Datenbank: Access • Zugriff über: ADO
Suche SQL Operator
[Lösung, siehe Seite 2]
Hallo, ich bin mit meinem Wissen am Ende und bräuchte mal einen kleinen Denkanstoß. Ich arbeite mit M$ Access und suche einen LIKE ähnlichen Operator. Das ganze soll so aussehen: Der Suchstring: EFGHIJKLMNOP Beispiele der Datenbank (Rot: Diese Einträge werden getroffen, Grün: werden übergangen) ID - TEXT 1# - HIJKL 2# - OPQRS 3# - EFGHIJKLM 4# - IJ 5# - PQRST ich hoffe diese Darstellung mach mein Problem etwas verständlicher... Grüße, Björn |
Re: Suche SQL Operator
Ich habe kein Access, aber evtl. so?
SQL-Code:
SELECT * FROM Tabelle WHERE POSITION(Feld IN 'EFGHIJKLMNOP') > 0
|
Re: Suche SQL Operator
Ich hab dein Vorschlag ausprobiert und das ganze noch verschieden abgewandelt, doch ich komm zu keiner Lösung
|
Re: Suche SQL Operator
was soll der operator denn leisten? aus deinem post komm ich nicht draus... :gruebel: :gruebel:
|
Re: Suche SQL Operator
Ich habe das so verstanden, dass er alle Datensätze ermitteln will, in denen das Feld Text ein Teilstring des Suchstrings ist.
|
Re: Suche SQL Operator
tja, was ist ein teilstring? 1 buchstabe, 2, oder doch mehr? müssen sie am anfang gleich beginen, am schluss gleich aufhören, dürfen dazwischen andere (wie viele) zeichen vorkommen?
bei seinem post bin ich da nicht durchgestiegen, von daher denk ich auch, dass eine funktion so schnell auch nicht durchsteigt, ohne dass man ihr mehr zur aufgabenstellung sagt... denke es wär ganz gut, wenn delphis spassbremse etwas mehr zur funktionalität sagen könnte die er gern hätte.. |
Re: Suche SQL Operator
Also,
es sollen die Einträge selektiert werden, die den Suchstring im Feld "benutzername" enthalten, egal wo er steht und wie lang er ist... Beispiel: - Wenn man nach "Administrator" sucht, dann soll auch der Benutzername "Admin" als Ergebnis ausgegeben werden. - Wenn man nach "Klaus-Dieter91" sucht, dann soll auch der Benutzername "Dieter" als Ergebnis ausgegeben werden. vielleicht sollte das verständlicher sein ;) Grüße, Björn |
Re: Suche SQL Operator
Dann dreh die zwei Parameter von Position doch einfach um? :gruebel:
|
Re: Suche SQL Operator
das wird so einfach nicht gehen. da SQL nur unterstützt nach Werten zu suchen, die den suchbegriff enthalten und nicht umgekehrt. Der einzige Weg dürtfe ein Konstrukt ähnlich wie Deddys sein.
|
Re: Suche SQL Operator
also ein simpler substring vergleich, welcher die gross und kleinschreibung unterscheidet?
und der komplett im suchstring enthalten sein muss... |
Re: Suche SQL Operator
Dann konsultiere doch mal die Access-SQL-Hilfe nach Stringfunktionen. Da ist vielleicht etwas ähnliches wie Position dabei.
|
Re: Suche SQL Operator
Da habe ich heute nachmittag schon gesucht und keine brauchbare funktion gefunden...
und position() kennt access nicht |
Re: Suche SQL Operator
unter den oben genannten voraussetzungen reicht doch like :-)
|
Re: Suche SQL Operator
Wie soll das Like denn aussehen?
|
Re: Suche SQL Operator
Nein nicht wirklich...
ich hab mir zwar noch ein
SQL-Code:
aus den Fingern gesaugt, aber dabei tritt mir access in den Hintern und sacht Tschüss....
SELECT * FROM users WHERE "Klaus-Dieter" LIKE "%"username"%"
|
Re: Suche SQL Operator
in etwa so ..
SQL-Code:
SELECT *
FROM tabelle WHERE suchfeld LIKE '%Admin%' |
Re: Suche SQL Operator
Das ist ja genau verkehrt herum.
|
Re: Suche SQL Operator
Was für einen Sinn macht das eigentlich, wenn man nach Administrator sucht und es auch Admin findet? Dann würde er auch genau so gut mini, strato etc. pp. finden.
|
Re: Suche SQL Operator
Nach dem Sinn frage ich nicht, mich interessiert eigentlich mehr die Aufgabe, aber ohne Access...
|
Re: Suche SQL Operator
bei username, macht es keinen sinn. da muss man schliesslich wissen ob man das richtige gefunden hat. was ich mir vorstellen kann ist, dass man im namen nach einen freien text suchen möcht, um zu sehen ob ein bestimmte(r) user bereits vorhanden ist.
|
Re: Suche SQL Operator
Das ganze war jetzt natürlich nur ein Beispiel.
Was ich halt vorhabe, ist einen Intelligenten Chat-Bot zu schreiben, den ich für meinen HTTP Chat benutzen möchte, den ich in Delphi geschrieben habe.... Da macht das ganze wieder Sinn... :wink: Aber vllt. gibts für nen "Chat-Bot" eine Performantere Lösung als nach Benutzereingaben zu suchen. Grüße, Bjlrn Wenn jetzt jemand sicher sagen kann, dass MySQL das drauf hat, dann würde ich das ding auf MySQL umbauen. Wär mir sogar lieber, weil dann kann man einfacher über nen PHP Script dem neue Texte hinzufügen... |
Re: Suche SQL Operator
Bei MySQL kannst Du mit LIKE arbeiten.
|
Re: Suche SQL Operator
ja aber auch umgedreht?
ich werds am besten mal nachher ausprobieren |
Re: Suche SQL Operator
Zitat:
|
Re: Suche SQL Operator
Das meine ich nicht,
schau dir mal die ersten Posts an... Grüße, Björn |
Re: Suche SQL Operator
Vielleicht so...
SQL-Code:
Gruss
SELECT *
FROM tabelle WHERE INSTR(dbfeld, 'EFGHIJKLMNOP') > 0 OR INSTR('EFGHIJKLMNOP', dbfeld) > 0 Thorsten |
Re: Suche SQL Operator
Dankeschön :P
Das funktioniert... Grüße, Björn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz