Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#22

Re: Hilfe bei SQL Abfrage Firebird

  Alt 18. Jul 2008, 13:10
Hallo Burn,

die Frage mit dem Vorhandensein von entsprechenden Daten, meinte ich nicht böse, sorry, wenn es so rübergekommen ist.

Das darf sein:
  • abc/12345
    abc\12345
    abc\12345a
    abc/12345X
das darf nicht sein:
  • abc/123a
    abc\12346
    abc\1244
Deine Abfrage geht auf:
  • abc_xyz
d. h.:

Es werden nur Inhalte verglichen, bei denen in Feld1 ein Wert steht, der genau 7 Zeichen lang ist. Demnach wird hier keiner der von Dir aufgeführten falschen Werte gefunden.

Ausgehend von Deinen Beispieldaten gehe ich einmal davon aus, das Dir 3 Zeichen vor / und \ bekannt sind,
das dann 5 Ziffern und eventuell ein Buchstabe folgen.

Damit kommen wir eventuell weiter:

Wir setzen in den Filter das, was richtig ist:
Delphi-Quellcode:
TextTeil1 := 'abc';
TextTeil2 := '12345';

s := AnsiUpperCase(TextTeil1 + '_' + TextTeil2 + '_');
sagen der Datenbank aber, dass wir genau das nicht gefunden haben wollen, indem wir vor das like ein NOT stellen:
Delphi-Quellcode:
QSuche.SQL.Add('Select Feld1, Feld2, Feld3 from Tabelle where ');
QSuche.SQL.Add('UPPER(FELD1 COLLATE DE_DE) NOT like ' + QuotedStr(s));
Hoffe, das bringt Dich jetzt weiter.

Stephan
  Mit Zitat antworten Zitat