📚 CASE WHEN
📌 문법
-- 방법1 CASE WHEN 조건식1 THEN 결과1 WHEN 조건식2 THEN 결과2 ELSE 결과3 END -- 방법2 CASE [컬럼] WHEN 조건값1 THEN 결과1 WHEN 조건값2 THEN 결과2 ELSE 결과3 END
• 방법1은 조건식을 직접 입력하는 방식이고, 방법이는 컬럼을 지정하고 해당 컬럼에서 참거짓을 판별할 조건값을 입력하는 방식이다.
• ELSE 생략 시 NULL 값을 반환함
📚 함수 만들기
📌 문법
CREATE FUNCTION [함수 이름] ([입력값 이름] [데이터 타입], ......) RETURNS [결과값 데이터 타입] BEGIN DECLARE [임시값 이름] [데이터 타입] SET [임시값 이름] =[입력값 이름] 쿼리; RETURN 결과값 END
📌 사용 예시
• DECLARE는 함수 안에서 사용하는 임시 값임.
• '쿼리' 부분에 실제로 함수 기능 부분을 작성함
• 쿼리 부분에 CASE WHEN 조건을 사용하면 조건에 따른 결과값 출력이 가능함
• SQL workbench 에서 함수를 사용할 때에는 위와 같이 앞뒤로 DELIMITER 라는 추가적인 명령어를 입력해야 함
• 끝부분 DELIMITER 의 콤마 앞에는 한 칸 띄워야 함
-- 함수 만들기 SET GLOBAL log_bin_trust_function_creators = 1 ; --DROP FUNCTION isStrong; DELIMITER // CREATE FUNCTION isStrong(attack INT, defense INT) RETURNS VARCHAR(20) BEGIN DECLARE a INT; DECLARE b INT; DECLARE strong VARCHAR(20); SET a = attack ; SET b = defense; SELECT case when a + b > 120 then 'very strong' when a + b > 90 then 'strong' else 'not strong' END INTO strong; RETURN strong; END // DELIMITER ; -- 꼭 콤마랑 한 칸 띄우기
• 라인 14와 같이 SELECT 부분에 CASE WHEN을 사용하면 기준이나 조건에 따른 결과값 출력이 가능함
'SQL' 카테고리의 다른 글
[SQL] GROUP BY (0) | 2023.03.08 |
---|---|
[SQL] 기본함수, ORDER BY (1) | 2023.03.05 |
[SQL] 데이터베이스 다루기 (0) | 2023.02.28 |
[SQL] 서브쿼리 기본 개념 (0) | 2023.02.06 |
댓글