ISNULL, если один или два столбца не заполнены, то 0 - PullRequest
0 голосов
/ 22 октября 2018

У меня есть SQL-выражение, похожее на это

ISNULL(revenue - expense, 0) 

Я пытаюсь выяснить, не заполнены ли один или оба моих столбца (доход И / ИЛИ расход).Если одно или оба не заполнены, верните 0. Я все равно получаю сообщения об ошибках #Error.

Ответы [ 4 ]

0 голосов
/ 22 октября 2018

Ваше утверждение предполагает:

COALESCE(revenue - expense, 0) 

Однако логика подсказывает, что вам действительно может понадобиться:

COALESCE(revenue, 0) - COALESCE(expense, 0) 

То есть, обрабатывайте каждый в отдельности как 0, если значениеNULL.

Обратите внимание, что числовые значения на самом деле не являются «пустыми» (что подразумевает пустую строку).Они NULL.

0 голосов
/ 22 октября 2018

Помимо COALESCE, вы также можете использовать IfNull() функцию в MySQL :

SELECT IFNULL(revenue - expense, 0) 
FROM your_table_name 
0 голосов
/ 22 октября 2018

Используйте функцию объединения ниже:

     Select  Coalesce(revnue,0)-coalesce(expense,0)  
     from t
0 голосов
/ 22 октября 2018

Вы можете использовать COALESCE():

SELECT COALESCE(revenue - expense, 0)
FROM tab_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...