![]() |
Datenbank: DBase • Version: 4 • Zugriff über: TQuery
select "LIKE upper/lowercase" über BDE und DBase
Moin @ALL,
ich muss mich notgedrungen noch mit der BDE und DBbase-Datenbanken rumschlagen und realisiere gerade einen Filter auf eine Kundentabelle über mehrere Felder hinweg - also quasi eine Volltextsuche. Gemacht habe ich dies mit einer TQuery und nem SQL-Statement, das mehrere "LIKE %xxx%" drin hat - und das funktioniert auch soweit (sogar recht flott). Problem ist, dass ich leider nur "exakte Übereinstimmungen" betreffend GROSSkleinSchreibung erhalte und viele Befehle ("Concat", "+", etc.) für die BDE alle unbekannt sind, deshalb die Frage in die Runde: Hat jemand ne Idee, wie ich zB einen: ...WHERE NAME LIKE "%Meier%"... so abaendern könnte, dass auch "meier", "Meier", "MEIER", "MEier"... gefunden wird?? Wie gesagt, BDE und DBase. Wäre super... LG, de Schorsch... |
AW: select "LIKE upper/lowercase" über BDE und DBase
BDE ist bei mir schon eine Weile her - geht vielleicht "..where lower(name) like ('%meier%') ?
Ich glaube schon, dass ich das immer so gemacht habe... Gruß, Tom |
AW: select "LIKE upper/lowercase" über BDE und DBase
Bei der BDE ist die Hilfedatei LocalSQL.hlp dabei, in der Du sowas nachschauen kannst.
Fehlt sie bei Dir oder läuft auf Deinem System nicht mehr (weil altes Helpformat ...), so kannst Du hier eine Onlineversion finden: ![]()
SQL-Code:
oder
where lower(name) like ('%meier%')
SQL-Code:
sollten funktionieren.
where upper(name) like ('%MEIER%')
|
AW: select "LIKE upper/lowercase" über BDE und DBase
Super, Danke erstmal. Werde beides checken..
..de Schorsch |
AW: select "LIKE upper/lowercase" über BDE und DBase
scheint zu funzen - DANKE! Tks auch für den Link!
..de Schorsch |
AW: select "LIKE upper/lowercase" über BDE und DBase
Schade ein ilike kennt es nicht.
Mehrere andere Sprachen kennen ein "case-insensitive like". Ansonsten hätte man vielleicht auch Regex nutzen können. [edit] nee? ![]() Im Script, aber nichts zum SQL zu finden (select/where) |
AW: select "LIKE upper/lowercase" über BDE und DBase
Zitat:
|
AW: select "LIKE upper/lowercase" über BDE und DBase
scheint zu funzen. danke!
|
AW: select "LIKE upper/lowercase" über BDE und DBase
Zitat:
Da kann man dann auch dann die Insensitivät auch für Accents (und Co.) definieren |
Ich kenne mich mit DBase absolut gar nicht aus, dafür aber recht gut mit SQL.
Es kann dir passieren, dass die Suche mit
Code:
deutlich langsamer läuft.
lower(Feldname)
Das hängt dann mit dem erzeugten Index zusammen. Für den Index ist nämlich
Code:
und
Feldname
Code:
nicht das gleiche Feld.
lower(Feldname)
Wenn du weißt, welche Felder du abfrägst, leg die einen Index für die Felder mit Lowercase an, falls das DBase mitmacht. Oder wie Bernhard geschrieben hat. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 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-2025 by Thomas Breitkreuz