본문 바로가기

SQL/Big Query

Big Query - 날짜 형식 : PARSE_DATE, EXTRACT, DATE_ADD, DATE_SUB, DATE_DIFF

반응형

PARSE_DATE

PARSE_DATE(format_string, date_string)

 

 

format_string 설명
%A 요일
Monday
%a 요일 (약어)
Mon
%B 월 (full name)
March
%b 월 (약어)
Mar
%m
%d
%e 일 (한 자리수 앞엔 공백)
%x MM/DD/YY 형식
%F %Y-%m-%d 형식
%D %m/%d/%y 형식
%Y 4자리 연도
%y 2자리 연도

 

 

 

예시.

 

PARSE_DATE('%y.%m/%d', '17.6/30')

 

결과 : 2017-06-30

 

 

 

 

 

EXTRACT

EXTRACT(part FROM date_expression)

 

part 설명
YEAR
MONTH
DAY
WEEK 한 해의 '주' 번호 [0-53]
주는 일요일부터 시작
WEEK(MONDAY) 한 해의 '주' 번호를 월요일부터 시작
[0-53]
DAYOFWEEK 일요일(1) ~ 토요일(7)
QUARTER 분기 (1-4)

 

 

예시.

 

EXTRACT(WEEK(MONDAY) FROM DATE('2020-01-01'))

 

결과 : 0

 

 

 

 

 

 

DATE_ADD, DATE_SUB

DATE_ADD(date_expression, INTERVAL int64_expression date_part)
DATE_SUB(date_expression, INTERVAL int64_expression date_part)

 

date_part 설명
YEAR
MONTH
DAY
WEEK 주 (7일과 같음)
QUARTER 분기

 

 

예시.

 

DATE_ADD('2020-03-31', INTERVAL 3 DAY)

 

결과 : 2020-04-03

 

 

 

 

 

DATE_DIFF

DATE_DIFF(date_expression_a, date_expression_b, date_part)

 

date_part 설명
YEAR
MONTH
DAY
WEEK 주 (일요일 시작)
WEEK(MONDAY) 주 (월요일 시작)
QUARTER 분기

 

 

date_expression_a보다 date_expression_b가 크다면 음수가 나온다.

 

예시.

 

DATE_DIFF(DATE('2008-12-25'), DATE('2010-07-07'), DAY)

 

결과 : -559

 

 

참조 : https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions?hl=ko#date_add

반응형