IFNull в MySQL

Я новичок в SQL, и я пытаюсь создать вычисляемое поле, используя набор столбцов. Однако некоторые из этих значений могут быть NULL. Если они равны NULL, я не хочу, чтобы вычисляемое поле возвращало результат NULL, но вместо этого устанавливаю произвольное значение.

Вот расчетное поле

(ces.EXPERT_SCORE * cirm.CONSUMER_RATING) + (12.5 * scs.SIMILARITY)

2 ответа

Решение

Использование IFNULL(tocheckwhat,withwhattoreplace) так:

(IFNULL(ces.EXPERT_SCORE,5) * IFNULL(cirm.CONSUMER_RATING,5)) + (12.5 * IFNULL(scs.SIMILARITY,5))

должно сработать!:)

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

(
 COALESCE(ces.EXPERT_SCORE, <YOUR_ARBIT_VALUE>) * 
 COALESCE(cirm.CONSUMER_RATING, <YOUR_ARBIT_VALUE>)
)
+ (12.5 * COALESCE(scs.SIMILARITY, <YOUR_ARBIT_VALUE>))
Другие вопросы по тегам