SQL

조건문 IF , CASE 와 DATA TYPE 변경

한우종 2024. 7. 1. 18:29

 

 

DB
더보기

상세정보

이름 성별 나이
홍동길 남자 22
길동홍 여자 31
홍길동 남자 21
송중기 여자 35
송대기 남자 51

 

조건문

 

 

 

 

IF : 원하는 조건에 충족할때 적용할 값과 충족하지 않을 때 적용할 값을 지정해줄수 있다.

 

 

기본문법 

SELECT IF(조건,조건 충족시, 조건이 충족하지 않을시)
FROM 테이블

 

사용예시

SELECT IF (나이 < 50,50대 이하,50대 이상) "나이대"
FROM 상세정보

나이대
50대 이하
50대 이하
50대 이하 
50대 이하
50대 이상

 

 

 

CASE : 조건을 여러가지 지정하고 싶을때 사용한다 , 각 조건별로 적용할 값을 지정해 줄수 있다. 

 

WHEN : CASE 안에 조건

 

THEN : 조건의 값

 

ELSE : 위 조건에 부합하지 않을시 새로운 값을 줄때 사용한다.

 

END : CASE 를 마칠때 사용한다.

 

기본구조

SELECT CASE WHEN 조건1 THEN 값1
                          WHEN 조건2 THEN 값2
                          ELSE 값 3 
                 END 
FROM  테이블

 

사용예시

SELECT 이름,성별,나이,
CASE WHEN 나이 BETWEEN 20 AND 29 THEN "20대"
           WHEN 나이 BETWEEN 30 AND 39 THEN "30대"
           ELSE "50 대 이상"
   END "나이대"
FROM 상세정보



이름 성별 나이 나이대
홍동길 남자 22 20대
길동홍 여자 31 30대
홍길동 남자 21 20대
송중기 여자 35 30대
송대기 남자 51 50 대 이상

WHEN 안에 AND OR NOT 논리연산자 등을 사용하여 조건을 추가할수도 있다.

 

 

DATA TYPE

 

SQL 에서는 데이터 타입이 다르면 연산이 안되고 에러가 일어날수있다.

그럴경우 함수를 이용해서 데이터 타입을 바꿔주어야한다.

 

CAST : 데이터 타입을 바꿔주는 함수

 

문자데이터를 숫자로 변경

CAST(바꿀데이터 AS DECIMAL)

 

숫자데이터를 문자로 변경

CAST(바꿀데이터 AS CHAR)