85 Stimmen

SELECT max(x) gibt null zurück; wie kann ich erreichen, dass es 0 zurückgibt?

Wie kann man bei der Ausführung des folgenden Befehls 0 statt null zurückgeben?

SELECT MAX(X) AS MaxX
FROM tbl
WHERE XID = 1

(Unter der Annahme, dass es keine Zeile mit XID=1 gibt)

3voto

Hassan Ali Shahzad Punkte 2123

Für OLEDB können Sie diese Abfrage verwenden:

select IIF(MAX(faculty_id) IS NULL,0,MAX(faculty_id)) AS max_faculty_id from faculties;

Da IFNULL dort nicht funktioniert

2voto

Larry Lustig Punkte 47313

Es hängt davon ab, welches Produkt Sie verwenden, aber die meisten unterstützen etwas wie

SELECT IFNULL(MAX(X), 0, MAX(X)) AS MaxX FROM tbl WHERE XID = 1

o

SELECT CASE MAX(X) WHEN NULL THEN 0 ELSE MAX(X) FROM tbl WHERE XID = 1

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X