본문 바로가기
개발일지/SQL

SQL 기초28 CAST (데이터타입변경), NULLIF (빈 값인지 확인)

by 다니엘의 개발 이야기 2022. 8. 31.
320x100

# COLALESCE

 

# 예시1

# A에서 B를 뺀 값으로 최종 가격을 만들기 위한 수식

 

SELECT item, (price - COALESCE(discount, 0))

AS final FROM table


# CAST

# 데이터 타입 변경

 

# 기본

 

SELECT CAST(date AS TIMESTAMP)

FROM table


# 예시 1

 

SELECT CAST('5' AS INTEGER) AS new_int


# 예시 2

 

SELECT '5'::INTEGER

# string 으로 5를 입력해주었는데, ::가 CAST를 대신하여 INTEGER 타입으로 만들어주었다.


# 예시 3

 

SELECT CAST('5' AS INTEGER)

# 예시 2와 같은 결과다.


# 예시 4

 

SELECT CAST(inventory_id AS VARCHAR) FROM rental

# inventory_id 에 들어있는 모든 데이터 타입을 string 형태로 바꿔줘


# 예시 5

 

SELECT (

SUM(CASE WHEN department = 'A' THEN 1 ELSE 0 END)/

SUM(CASE WHEN department = 'B' THEN 1 ELSE 0 END)

) AS department_ratio

FROM depts


# NULLIF

# 이건 뭔가를 확인할 때 쓰는 함수이긴 한데

# 공부가 더 필요하다

 

# 예시

SELECT (

SUM(CASE WHEN department = 'A' THEN 1 ELSE 0 END)/

NULLIF(SUM(CASE WHEN department = 'B' THEN 1 ELSE 0 END),0)

 

) AS department_ratio

FROM depts

300x250