Anmelden

View Full Version : SQL Funktion " Like"



Stefan_R
23-01-02, 12:01
Hallo,

ich habe ein Problem im einem Embedded SQL.
Ich möchte ein Dateifeld A mit einem Variablen String 104 Stellen Lang durchsuchen. Ich setzte vor dem Aufruf den String wie folgt zusammen '%Text%' Wobei der text unterschiedlich lang sein kann). Das Programm findet jedoch nie was, obwohl es bei einem interaktiven Aufruf funktioniert.

Gruss Stefan

Rukober
23-01-02, 13:00
Hallo Stefan,
wir machen das so:

Eval Var1 = '%'+%trim(Suchbegriff)+ '%'

C/EXEC SQL
C+ Declare C1 Cursor
C+ for select field1, field2
C+ from datei1
C+ where field1 like :Var1
C+ For Read Only
C/END-EXEC

Gruss
Frank

horschma
23-01-02, 14:32
Hallo,
schon mal an Case-sensitive gedacht?

... UPPER(FELD) LIKE '%ABC%'

Thomas

Stefan_R
23-01-02, 15:00
Hallo,

vielen Dank für die Schnelle hilfe!
noch eine Frage, kann ich diese Funktionen auch auf ein internes Feld anwenden?
Das bedeutet, das Feld das ich Abgleiche liegt nicht in einer datei.

Danke

Gruss
Stefan

horschma
23-01-02, 16:08
Hallo,

meinst du diese Form?

... UPPER(Feld) LIKE UPPER('%aBc%')

oder

... UPPER(Feld) LIKE UPPER(:value)

Alternativ zu den SQL Funktionen könntest du auch die Sortierfolge der Tabellen auf *LNGIDSHR stellen, dann wichtet das System selbst Caseinsensitiv.

Thomas