[JAVA]/JPA
JPQL 조건식 - CASE 식
팡펑퐁
2023. 5. 3. 00:27
728x90
기본 CASE 식
-- 기본 CASE 식
SELECT
CASE WHEN m.age <= 10 THEN '학생요금'
WHEN m.age >= 60 THEN '경로요금'
else '일반요금'
END
FROM Member m
-- 단순 CASE 식
SELECT
CASE t.name
WHEN '팀A' THEN '인센티브110%'
WHEN '팀B' THEN '인센티브120%'
ELSE '인센티브105%'
END
FROM Team t
-- COALESCE : 하나씩 조회해서 null이 아니면 반환
SELECT COALESCE(m.username, '이름 없는 회원') FROM Member m
-- 사용자 이름이 없으면 이름 없는 회원을 반환
-- NULLIF : 두 값이 같으면 null 반환, 다르면 첫번째 값 반환
SELECT NULLIF(m.username, '관리자') FROM Member m
-- 사용자 이름이 '관리자'면 null을 반환하고 나머지는 본인의 이름을 반환
참고
김영한 - 자바 ORM 표준 JPA 프로그래밍
728x90