Я пытаюсь написать запрос HQL, который рассчитает средний рейтинг для элемента. Я хочу, чтобы запрос возвращал 0 вместо нуля, когда нет оценки для данного элемента, поэтому я могу использовать свой запрос в качестве подзапроса. Так это возможно? Существует ли эквивалент HQL для IFNULL или NVL?
IFNULL эквивалент в языке запросов на спящий режим?
Ответ 1
COALESCE является официальным эквивалентом.
Он возвращает первый ненулевой аргумент.
Пример:
COALESCE(id_pati, 0)
Ссылка Wikipedia
Ответ 2
Документы Nhibernate устарели. Проверьте http://docs.jboss.org/hibernate/stable/core/reference/en/html/queryhql.html
Если ничего не работает, вы можете попробовать:
select
case
when something is not NULL then 0
else
end