728x90
1. CASE WHEN
SQL 문법과 동일하다.
✅예시
String query = "select " +
"case when m.age <=10 then '학생요금' " +
" when m.age >=60 then '경로요금' " +
" else '일반요금' " +
"end " +
"from Member m";
CASE WHEN 문법이 SQL과 동일해서 예시만 쓰고 넘어간다..
(*JPQL은 문자열로 쿼리를 작성해서 문자열을 합치기 때문에 공백을 신경써줘야된다.)
2. COALESCE
하나씩 조회해서 NULL이 아니면 반환하고 NULL이면 다음 인수를 반환한다.
이 함수는 표준 SQL 함수다.
코우얼레스,,,빨리 발음하면 '코올레스'로 읽으면 된다.
✅예시(1)
select coalesce(m.username,'이름 없는 회원') from Member m
이름이 null값인 회원은 '이름 없는 회원'으로 반환되고, 이름이 있으면 이름 그대로 반환된다.
✅예시(2)
SELECT COALESCE(m.nickname, m.username, m.email) FROM Member m
m.nickname이 NULL이면 m.username을 반환
m.username이 NULL이면 m.email을 반환
모두 NULL이면 NULL을 반환한다.
3. NULLIF
첫번째 인수가 두번째 인수와 같으면 null을 반환하고 아니면 첫번째 인수를 반환한다.
✅예시
select NULLIF(m.username, '관리자') from Member m
m.username이 '관리자'면 null을 반환하고 관리자가 아니면 m.username을 반환한다.
728x90
'인프런 김영한 강의 정리 > 자바 ORM 표준 JPA 프로그래밍 기본편' 카테고리의 다른 글
JPA 기본 | JPQL 중급 문법(1) - 경로 표현식 (0) | 2024.07.18 |
---|---|
JPA 기본 | JPQL 문법(6) - 기본 함수 (0) | 2024.07.17 |
JPA 기본 | JPQL 문법(4) - ENUM 타입,상속관계 엔티티 표현 (0) | 2024.07.17 |
JPA 기본 | JPQL 문법(3) - 페이징, 조인, 서브쿼리 (0) | 2024.07.17 |
JPA 기본 | JPQL 문법(2) - 프로젝션(SELECT) (0) | 2024.07.16 |