Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- AOP
- http
- JDBC
- 알고리즘
- Thymeleaf
- JPQL
- Greedy
- pointcut
- spring
- 김영한
- 백준
- 인프런
- jpa
- 스프링 핵심 원리
- java
- Servlet
- Proxy
- 자바
- db
- Exception
- Android
- Spring Boot
- transaction
- QueryDSL
- 그리디
- 스프링
- SpringBoot
- springdatajpa
- 스프링 핵심 기능
- kotlin
Archives
- Today
- Total
개발자되기 프로젝트
JPQL 조건식 - CASE 본문
1. 기본 CASE 식
- if와 유사, 해당 조건이 만족하면 then 하위 내용 으로 결과.
Select
case when m.age <= 10 then '학생요금'
when m.age >= 60 then '경로요금'
else '일반요금'
end
from Member m
- 예제
String query = "select " + "case when m.age <= 10 then '학생요금'" + " when m.age >=60 then '경로요금'" + " else '일반요금' end " + "from Member m";
2. 단순 CASE 식
- switch와 유사, 정확하게 내용이 매치되면 결과
select
case t.name
when '팀A' then '인센티브 110%'
when '팀B' then '인센티브 120%'
else '인센티브 105%'
end
from Team t
3. COALESCE
- 하나씩 조회해서 null이 아니면 반환
- null이면 입력한 값 반환.
- 사용자 이름이 없으면 이름 없는 회원을 반환
-
select coalsce(m.username, '이름없는 회원') from Member m
- 예제
-
member.setAge(10); String query = "select coalesce(m.username, '이름없는 회원') from Member m "; List<String> resultList = em.createQuery(query, String.class).getResultList();
-
s = 이름없는 회원
4. NULLIF
- 두 값이 같으면 null 반환, 다르면 첫번째 값 반환
- 사용자 이름이 '관리자'면 null 반환 나머지는 본인 이름 반환.
-
select NULLIF(m.username, '관리자') from Member m
-
member.setUsername("관리자"); String query = "select nullif(m.username, '관리자') from Member m ";
-
s = null
5. GitHub : 210816 조건식-CASE
'인프런 > [인프런] 자바ORM 표준 JPA 프로그래밍' 카테고리의 다른 글
경로 표현식 (0) | 2021.08.16 |
---|---|
JPQL 기본 함수 (0) | 2021.08.16 |
JPQL 타입 표현 (0) | 2021.08.16 |
서브쿼리 (0) | 2021.08.16 |
JPQL JOIN (0) | 2021.08.16 |
Comments