Выберите max (x) возвращает null; как я могу заставить его вернуть 0?
Как вы возвращаете 0 вместо null при выполнении следующей команды:
SELECT MAX(X) AS MaxX
FROM tbl
WHERE XID = 1
(предполагая, что нет строки, где XID=1)
7 ответов:
вот так (для MySQL):
SELECT IFNULL(MAX(X), 0) AS MaxX FROM tbl WHERE XID = 1
для MSSQL заменить
IFNULL
СISNULL
или для использования OracleNVL
вы также можете использовать COALESCE (выражение [ ,...n ]) - возвращает первое ненулевое значение типа:
SELECT COALESCE(MAX(X),0) AS MaxX FROM tbl WHERE XID = 1