Was ist falsch am Where code

IchHH

Datenbank-Guru
Beiträge
284
Hallo ich habe den nachfolgenden Where Code geschrieben um zu prüfen welche Hausnummern ungerade sind und nicht in der Schreibweise Hausnummer/Hausnummer erfasst sind. Da einige Hausnummer aber Zusätze in Form von Buchstaben haben dachte ich an diesen Code:

Code:
Where (LEFT([Anschrift_1].[Anschrift_Hausnummer],1) = (Case When (RIGHT([Anschrift_1].[Anschrift_Hausnummer],1)) not like '%[a-z]%'
    Then RIGHT([Anschrift_1].[Anschrift_Hausnummer],1)-2 Else 0 End)
    and [Anschrift_1].[Anschrift_Hausnummer] <> '%/%')

Leider funktioniert er nicht weil er sagt das

Fehler beim Konvertieren des varchar-Werts 'A' in den int-Datentyp.

Dabei sollte er doch eigentlich Hausnummer mit Buchstaben nicht berücksichtigen.

Was also mache ich falsch?
 
Werbung:
Ich übersetz das mal:
WHERE erstesZeichen = WENN letztesZeichen kein Buchstabe DANN letztesZeichen - 2 SONST 0
AND Hausnummer ungleich %/%

Das ergibt keinen Sinn. Wiso soll die erste Ziffer gleich 0 sein oder um 2 kleiner als die letzte Ziffer? Du suchst außerdem am Ende ein NOT LIKE '%/%', so wie du es oben schon korrekt angewandt haßt.
 
Zurück
Oben