Fragensteller
Like bringt ein Ergebnis, = bringt 'Fehler beim Konvertieren des nvarchar-Werts 'application/gzip' in den int-Datentyp.'

Frage
-
Hallo,
die Abfrage
select flur, flurstueck
from view1
inner join view2
on view1.KEY = view2.KEY
where
GEMARKUNG = 'Ort1'
and FLUR = 34
and FLURSTUECK = 234führt zum Fehler
'Fehler beim Konvertieren des nvarchar-Werts 'application/gzip' in den int-Datentyp.'
ersetzt man FLURSTUECK = 234
durch FLURSTUECK LIKE 234 oder
FLURSTUECK > 233 and FLURSTUECK < 235
erfolgt die Anzeige richtig.
Ohne inner join funktioniert auch FLURSTUECK = 234
Flur ist smallint, Flurstück int, key beiden Views ist nvarchar(32), DB-System ist SQL Server 2008 R2
Hat jemand eine Idee? Danke
- Bearbeitet maatmsdn Montag, 14. Januar 2013 11:41
Alle Antworten
-
Hallo,
der Fehlermeldung nach ist einer der Felder doch nicht vom Typ smallint/int, sondern nvarchar, wo auch Text drin steht. Die Fehlermeldung kann man leicht reproduzieren:
SELECT 1 AS Result WHERE N'application/gzip' = 34
Bei Verwendung von LIKE wird die Zahl implizit in ein nvarchar konvertiert, den ein LIKE auf einen numerischen Wert macht keinen Sinn und deswegen gibt es hier keinen Fehler.
SELECT 1 AS Result WHERE N'application/gzip' LIKE 34
Olaf Helper
Blog Xing- Als Antwort vorgeschlagen Stefan FalzModerator Donnerstag, 24. Oktober 2013 10:03
-
- Als Antwort vorgeschlagen Christoph Muthmann Donnerstag, 24. Oktober 2013 11:32