객체지향 쿼리 언어6 - 조건식과 JPQL함수

  • 소개
  • 기본 문법과 쿼리API
  • 프로젝션(SELECT)
  • 페이징
  • 조인
  • 서브 쿼리
  • JPQL 타입 표현과 기타식
  • 조건식 (CASE 등등)
  • JPQL 함수



01. 조건식 - 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, "관리자")  -- m.username이 "관리자" 이면 null 로 나오게 된다.
FROM Member m

02. JPQL 기본 함수

  • CONCAT
  • SUBSTRING
  • TRIM
  • LOWER, UPPER
  • LENGTH
  • LOCATE
  • ABS, SQRT, MOD
  • SIZE, INDEX(JPA 용도)

댓글남기기