1. 타입 표현 케이스
2. 기타 표현
String query = "select m.username, 'HELLO', true from Member m where m.type = :userType";
List<Object[]> resultList = em.createQuery(query)
.setParameter("userType", MemberType.ADMIN)
.getResultList();
3. 조건식
//기본 case식
String query =
"select " +
"case when m.age <= 10 then '학생요금' " +
" when m.age >= 60 then '경로요금' " +
" else '일반요금' end " +
"from Member m";
em.createQuery(query, String.class).getResultList();
//coalesce
String query2 = "select coalesce(m.username, '이름 없는 회원') from Member m";
List<String> res2 = em.createQuery(query2, String.class).getResultList();
//nullif
String query3 = "select nullif(m.username, '관리자') from Member m";
List<String> res3 = em.createQuery(query3, String.class).getResultList();