where m.type = jpql.MemberType.ADMIN
"select" +
"case when m.age <= 10 then '학생 요금'" +
" when m.age >= 60 then '경로 요금'" +
" else '일반 요금'"+
"end" +
"from Member m";
select
case t.name
when '팀A' then '성과금 110%'
when '팀B' then '성과금 120%'
else '성과금 105%'
end
from Team t
COALESCE
: 하나씩 조회해서 Null이 아니면 반환
ex) 사용자 이름이 없으면 "이름 없는 회원"을 반환
select coalesce (m.username, '이름 없는 회원') from Member m
NULLIF
: 두 값이 같으면 Null 반환, 다르면 첫번째 값 반환
ex) 사용자 이름이 '관리자면 Null을 반환하고, 나머지는 본인의 이름을 반환
select NULLIF (m.username, '관리자') from Member m
✔ JPQL이 제공하는 기본 함수들이다.
- CONCAT (문자 더하기)
SUBSTRING (문자열 자르기)
TRIM (공백제거)
LOWER, UPPER
LENGTH
LOCATE
ABS, SQRT, MOD
SIZE INDEX(JPA용도)