IFNULL-эквивалент в Hibernate Query Language? - PullRequest
13 голосов
/ 01 ноября 2009

Я пытаюсь написать HQL-запрос, который подсчитает среднюю оценку предмета. Я хочу, чтобы запрос возвращал 0 вместо нуля, когда для данного элемента нет рейтинга, чтобы я мог использовать свой запрос как подзапрос. Так возможно ли это? Есть ли HQL-эквивалент IFNULL или NVL?

Ответы [ 2 ]

28 голосов
/ 01 ноября 2009

COALESCE является официальным эквивалентом.

Возвращает первый ненулевой аргумент.

Пример:

    COALESCE(id_pati, 0)

Ссылка Википедия

2 голосов
/ 01 ноября 2009

Документы Nhibernate устарели. Чек http://docs.jboss.org/hibernate/stable/core/reference/en/html/queryhql.html

Если ничего не работает, вы можете попробовать:

select 
   case 
     when something is not NULL then 0
     else 
   end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...