조건식
기본 조건식
select case
when m.age <= 10 then '학생요금'
when m.age >= 60 then '경로요금'
else '일반요금'
end
from Member m쿼리에 조건을 넣을 수 있다.
public class JpaMain {
public static void main(String[] args) {
Member member = new Member();
member.setName("member");
em.persist(member);
em.flush();
em.clear();
String query = "select\n"
+ "case when m.age <= 10 then '학생요금' when m.age >= 60 then '경로요금'\n"
+ "else '일반요금'\n"
+ "end\n"
+ "from Member m";
List<String> result = em.createQuery(query, String.class).getResultList();
for (String s : result) {
System.out.println("s = " + s);
}
tx.commit();
}
}
단순 조건식
정확하게 매칭해서 쿼리를 뽑아내는 단순한 식이다.
COALESCE
사용자 이름이 없으면
이름 없는 회원이란 문자를 출력한다.하나씩 조회해서 null이 아니면 그 값을 반환한다.


setName()을 해주지 않으면이름 없는 회원으로 출력된다.
NULLIF
m.username과관리자가 같으면 null을 반환한다.다르면 첫 번째 값
m.username을 반환한다.

setName("관리자")를 하면 두 값이 같으므로 null을 반환한다.관리자의 이름을 숨겨야할 때 사용할 수 있다.

다르면
m.name을 반환한다.
Last updated
Was this helpful?