AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken select "LIKE upper/lowercase" über BDE und DBase
Thema durchsuchen
Ansicht
Themen-Optionen

select "LIKE upper/lowercase" über BDE und DBase

Ein Thema von schorsch666 · begonnen am 16. Nov 2022 · letzter Beitrag vom 23. Nov 2022
Antwort Antwort
Seite 1 von 2  1 2      
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#1

select "LIKE upper/lowercase" über BDE und DBase

  Alt 16. Nov 2022, 15:54
Datenbank: DBase • Version: 4 • Zugriff über: TQuery
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...
  Mit Zitat antworten Zitat
TomF

Registriert seit: 29. Sep 2015
Ort: Österreich, Innviertel
25 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: select "LIKE upper/lowercase" über BDE und DBase

  Alt 16. Nov 2022, 16:01
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
Thomas
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#3

AW: select "LIKE upper/lowercase" über BDE und DBase

  Alt 16. Nov 2022, 16:59
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: Local SQL WebHelp

where lower(name) like ('%meier%') oder where upper(name) like ('%MEIER%') sollten funktionieren.
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#4

AW: select "LIKE upper/lowercase" über BDE und DBase

  Alt 17. Nov 2022, 08:43
Super, Danke erstmal. Werde beides checken..

..de Schorsch
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#5

AW: select "LIKE upper/lowercase" über BDE und DBase

  Alt 17. Nov 2022, 10:06
scheint zu funzen - DANKE! Tks auch für den Link!

..de Schorsch
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: select "LIKE upper/lowercase" über BDE und DBase

  Alt 17. Nov 2022, 10:33
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?

https://www.dbase.com/Knowledgebase/...tin/bu20_b.htm
Im Script, aber nichts zum SQL zu finden (select/where)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
591 Beiträge
 
Delphi XE6 Enterprise
 
#7

AW: select "LIKE upper/lowercase" über BDE und DBase

  Alt 17. Nov 2022, 10:59
Schade ein ilike kennt es nicht.

Mehrere andere Sprachen kennen ein "case-insensitive like".
dBase kennt überhaupt kein SQL. Das macht die BDE. Aber FireDAC kann das auch! Man verbindet die dBase Datenbank mittels der Freeware TDBF Komponente und FireDAC über den SQLite Treiber und LocalSQL und kann so SQL-Abfragen über die mächtigere SQL-Sprache von SQLite auf die dBase Tabellen loslassen
  Mit Zitat antworten Zitat
robingard

Registriert seit: 21. Nov 2022
1 Beiträge
 
#8

AW: select "LIKE upper/lowercase" über BDE und DBase

  Alt 21. Nov 2022, 04:53
scheint zu funzen. danke!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: select "LIKE upper/lowercase" über BDE und DBase

  Alt 21. Nov 2022, 07:22
Schade ein ilike kennt es nicht.

Mehrere andere Sprachen kennen ein "case-insensitive like".
Auf Datenbankebene legt man, wenn Case-Insensitivität nötig wäre, ein Case-Insensitives Feld (oder bei Oracle entsprechend einen Index) an.
Da kann man dann auch dann die Insensitivät auch für Accents (und Co.) definieren
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
299 Beiträge
 
#10
  Alt 21. Nov 2022, 08:05
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:
lower(Feldname)
deutlich langsamer läuft.
Das hängt dann mit dem erzeugten Index zusammen. Für den Index ist nämlich
Code:
Feldname
und
Code:
lower(Feldname)
nicht das gleiche Feld.
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz