Ответ от команды (Gavin):
case поддерживается в предложении where, но не в предложении select в HB3.
И увиден в JIRA с государством "Unresolved".
Ответ 4
Ниже вы можете найти рабочий запрос (hibernate on postgresql), который использует 2 оператора case для замены логического значения соответствующим текстовым представлением.
SELECT CASE ps.open КОГДА ИСТИНА THEN "ОТКРЫТО" еще "ЗАКРЫТО" КОНЕЦ, ДЕЛО ps.full КОГДА ИСТИНА THEN 'FULL' else "FREE" END, ps.availableCapacity FROM ParkingState as ps
Ответ 5
Это пример использования сравнения строк в условии:
ВЫБЕРИТЕ СЛУЧАЙ f.type КОГДА "УДАЛИТЬ" THEN f.previousLocation ELSE f.currentLocation END
FROM FileOperation f