Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: Zeichen bei SELECT ignorieren

  Alt 30. Okt 2013, 06:49
Das bringt doch nichts, wenn die gespeicherte Nummer z.B. '01 23 45' lautet und Du nach '012345' suchst.

Da SQLLite verwendet wird, scheint die Datenmenge nicht sonderlich groß zu sein. Also alles in den Speicher, dann suchen und fettig.

Delphi-Quellcode:
Query.Text := 'Select ID,Telefonnummer from Tabelle';
Query.Open();
While not Query.EOF do begin
  if PhoneNumberMatches(MySearchString, Query['Telefonnummer']) Then
    Results := Results + Query['ID']+',';
  Query.Next;
End;
if Results<>'then begin
  setlength (Results, Length (Results) - 1);
  Query.Close;
  Query.Text := 'Select * from Tabelle where ID in ('+Results+')';
  Query.Open;
Sind halt 2 Queries. Die erste Query liefert alle Telefonnummern und die Record-ID. Dann wird eine Liste von IDs der Records erzeugt, deren Telefonnummer past und anschließend werden nur diese Records gelesen.

Mit einem anderen RDBMS kann man sich eine mehr oder minder komplexe Funktion (UDF) erstellen, das Matchen übernimmt, aber mit SQLite geht das eben nicht.
  Mit Zitat antworten Zitat