Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL:ISNULL-Funktion mit unterschiedlichen Parametertypen

Du kannst nicht. Die ISNULL-Funktion wird allein als Abfrageergebnisspalte oder in einem Ausdruck verwendet, der schließlich eine Spalte im Abfrageergebnis darstellt. Alle Felder/Zeilen einer Spalte müssen denselben Datentyp haben. Sie müssen sich also entscheiden.

Eine Lösung wäre, das DATE in einen String umzuwandeln, also ist das Ergebnis immer ein String, aber ich fühle mich am besten Die Lösung wäre, NULL für leere Daten zurückzugeben und die Präsentationsschicht entscheiden zu lassen, ob die NULL-Daten als - angezeigt werden sollen oder nicht und in welchem ​​Format die Nicht-Null-Daten angezeigt werden sollen (Client-Locale-Einstellungen).

Mit Präsentationsebene meine ich alles, was diese Daten anzeigt oder ausgibt, was eine Webseite, ein CSV-Exporter, ein Reporting-Tool oder was auch immer sein kann.