(SUBSTRING (MSGLINE FROM 1 FOR 4) = ‚0069‘ AND
NOT (DX_SO_Kennzeichen1_1 = ‚4‘ OR DX_SO_Kennzeichen1_1 = ‚5‘))
– Die MSGLINE ist von STelle 1 bis 4 ‚0069‘
– Das Kennzeichen darf gelichzeitig nicht 4 oder 5 sein,
– dann ist die Bedingung erfüllt
Gibt das dieser Code wieder?
Vielen Dank und Grüße
Fred
Wenn der SQL-Syntax so richtig ist: Ja.
Warum nicht so:
(SUBSTRING (MSGLINE FROM 1 FOR 4) = ‚0069‘ AND
DX_SO_Kennzeichen1_1 NOT IN(‚4‘, ‚5‘)
wenn es vermeidbar ist, sollte man weniger negative Logik usw…:
(SUBSTRING (MSGLINE FROM 1 FOR 4) = ‚0069‘ AND
DX_SO_Kennzeichen1_1 ‚4‘ AND DX_SO_Kennzeichen1_1 ‚5‘))
Gruß Andreas
kleines veto
(SUBSTRING (MSGLINE FROM 1 FOR 4) = ‚0069‘ AND
DX_SO_Kennzeichen1_1 ‚4‘ AND DX_SO_Kennzeichen1_1
‚5‘))
so würden (evtl gültige) Texteingaben fehlschlagen. Aber warum nicht != verwenden?
Du meinst Eingaben mit „Spaces“ ? Dafür kannst Du im Ausdruck
LTRIM / RTRIM / oder TRIM
verwenden um Leerzeichen aus dem Filter auszuklammern, oder welche
Texteingaben erwartest Du noch ? Mit den Wildcards kannst Du
ja bequem nach einem „Muster“ suchen, dafür verwendest Du den
LIKE Operator (z.B. LIKE(’%4%’)).
!! (Nicht nicht)zu verwenden ist eine Angewohnheit.
überliest man nicht so leicht wie !=.
Gruß Andreas
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]