![]() |
Datenbank: MSSQL • Version: 2000 • Zugriff über: -
case und NULL Werte in MSSQL
Ich habe heute morgen ein seltsames Verhalten bei meinem SQL Server festgestellt. Hier mal die Query:
SQL-Code:
Also erwarten tu ich da eigentlich als Anzahl 0, wenn in der Spalte Process NULL steht, oder 1, falls dort nicht NULL steht.
select Process,
case Process when null then 0 else 1 end as Anzahl, from za Nur, als Ergebnis erhalte ich IMMER 1, unabhängig vom Wert Process. Kann es sein dass innerhalb einer Case Anweisung das mit dem NULL-Vergleich fehlschägt? |
Re: case und NULL Werte in MSSQL
Kennst du schon die Funktionen COALESCE () und ISNULL() ?
Damit liese sich CASE evtl. ersetzen. Oder du Wechselt zur komplexen Case-Funktion:
SQL-Code:
Das sieht fast gleich aus wie die einfache Case-Funktion, die du benutzt hast.
case
when Process IS NULL then 0 else 1 end as Anzahl |
Re: case und NULL Werte in MSSQL
Zitat:
Oder du Wechselt zur komplexen Case-Funktion:
SQL-Code:
Die Anweisung klappt einwandfrei...
case
when Process IS NULL then 0 else 1 end as Anzahl Trotzdem seltsam. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz