Every lesson I learn today

배운 것을 차곡차곡 기록하는 주니어 기획자의 아카이브

데이터

[SQL] 하나의 값 조작하기

임우주 2020. 10. 2. 18:54

1. 코드 값을 레이블로 변경하기

SELECT 
	user_id
    , CASE
    	WHEN register_device = 1 THEN '데스크톱'
        WHEN register_device = 2 THEN '스마트폰'
        WHEN register_device = 3 THEN '애플리케이션'
        ELSE ''
    END AS device_name
FROM mst_users
;

 

2. 현재 날짜와 타임스탬프 추출하기

SELECT 
	CURRENT_DATE AS dt
,   CURRENT_TIMESTAMP AS stamp

-- current_date (), current_timestamp() 인 경우도 있음
;

 

3. 지정한 값의 날짜/시각 데이터 추출하기

SELECT 
	CAST('2020-10-02' AS date) AS dt
,	CAST('2020-10-02 12:00:00' AS timestamp) AS STAMP
-- 일부 DATE('2020-10-02') AS dt 를 쓰는 경우도 있음
;

 

4. 날짜/시각에서 특정 필드 추출하기

SELECT 
	stamp
,	EXTRACT (YEAR FROM stamp) AS year
,	EXTRACT (MONTH FROM stamp) AS month
,	EXTRACT (DAY FROM stamp) AS day
,	EXTRACT (HOUR FROM stamp) AS hour

-- hive, sparkSQL
YEAR(stamp) as year
MONTH(stamp) as month
DAY(stamp) as day
HOUR(stamp) as hour
SELECT 
	stamp
, substring(stamp,1,4) AS year
, substring(stamp,6,2) AS month
, substring(stamp,9,4) AS day
, substring(stamp,12,2) AS hour

 

5. 결손 값을 디폴트 값으로 대치하기

COALESCE(coupon, 0)

 

 


 

출처 : www.11st.co.kr/products/2002510210/share

 

[11번가] 데이터 분석을 위한 SQL 레시피 /데이터 처리부터 매출·유저 파악, 리포팅 등 각종 데이��

카테고리: 개발/OS/DB, 가격 : 32,400원

www.11st.co.kr