Case When Bedingung II

IchHH

Datenbank-Guru
Beiträge
284
Moin Moin,

ich bin gerade auf ein Problem gestoßen über das ich mir den Kopf zerbreche.

Ich wollte eigentlich das wenn ein "I" erscheint, das System dieses als 01, 02 oder 03 interpretiert und abgleicht. Also Case When Funktion hätte das für mich so ausgesehen:

Code:
Case When right(rtrim([Filter]),1) = 'I' then '%[01-03]%' Else right([Filter],2) End  <> wBuch_Monat

Wir ihr euch schon denken könnt, funktioniert dass leider nicht. Wie aber stellt man das in einem SQL Code so dar?

Danke euch für die Unterstützung.
 
Werbung:
Eine Gleichung wird vom Server immer vollständig "aufgelöst", du kannst also nicht soetwas sagen wie wBuch_Monat = 01 OR 02 OR 03, das muss immer ausformuliert werden. Da gibts jetzt viele Wege, hier würde ich es ohne CASE lösen:
Code:
WHERE wBuch_Monat BETWEEN 1 AND 3 AND right(rtrim([Filter]),1) <> 'I'
OR wBuch_Monat NOT BETWEEN 1 AND 3 AND right(rtrim([Filter]),1) = 'I'
Aber das <> ergibt für mich nicht soviel Sinn, vielleicht solltest du deinen Bedingungen nochmal näher erläutern.

Bei II/2019 ist der erste Buchstabe auch ein I, du solltest römische Nummern vielleicht anders auflösen.
 
Zurück
Oben