달나라 노트

Redshift : to_char (timestamp 또는 date를 문자로 변환) 본문

SQL/Redshift

Redshift : to_char (timestamp 또는 date를 문자로 변환)

CosmosProject 2021. 1. 22. 15:28
728x90
반응형

 

 

 

 

to_char(date_timestamp, format)

to_char는 위처럼 2개의 parameter를 받습니다.

date_timestamp = 날짜 데이터나 timestamp 데이터를 의미합니다.

format = date_timestamp를 문자로 변환할 때 어떠한 형식으로 변환할지를 나타냅니다.

 

 

select sysdate;

- Output
2021-01-22 15:24:48.315132



select current_date;

- Output
2021-01-22

Redshift에선 sysdate를 이용해 현재 시점의 날짜, 시간 데이터를 얻을 수 있고,

current_date를 통해 오늘 날짜를 얻을 수 있습니다.

이를 이용해서 to_char를 테스트해보겠습니다.

 

 

 

 

select to_char(sysdate, 'yyyymmdd'); -> 20210122

select to_char(sysdate, 'yyyymmdd_HH24MISS'); -> 20210122_152621

select to_char(sysdate, 'mmddyyyy'); -> 01222021

select to_char(current_date, 'mmddyyyy'); -> 01222021

select to_char(sysdate, 'HH24MISS_ddmmyyyy'); -> 152621_22012021

위 예시를 보면 현재 날짜, 시간을 정해준 format의 형태로 바꿔 텍스트의 data type으로 반환해주는 것을 볼 수 있습니다.

 

 

 

 

 

 

 

아래 표는 Redshift에서 날짜, 시간을 다룰 때 사용되는 기호들과 그 의미입니다.

(원본 docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_FORMAT_strings.html)

날짜 부분 또는 시간 부분 의미
BC 또는 B.C., AD 또는 A.D., b.c. 또는 bc, ad 또는 a.d. 대문자와 소문자의 기원 표시자
CC 2자리 세기 숫자
YYYY, YYY, YY, Y 4자리, 3자리, 2자리, 1자리 연도 숫자
Y,YYY 쉼표가 포함된 4자리 연도 숫자
IYYY, IYY, IY, I 4자리, 3자리, 2자리, 1자리 국제표준화기구(ISO) 연도 숫자
Q 분기 숫자(1~4)
MONTH, Month, month 월 이름(대문자, 대/소문자 혼용, 소문자, 9자까지 공백 채움)
MON, Mon, mon 월 이름 축약어(대문자, 대/소문자 혼용, 소문자, 9자까지 공백 채움)
MM 월 숫자(01-12)
RM, rm 로마 숫자로 표기한 월 숫자(I–XII, I는 1월임, 대문자 또는 소문자)
W 월중 주차(1–5; 1주차는 매월 첫 번째 날짜에 시작됨)
WW 연중 주차(1–53; 1주차는 매년 첫 번째 날짜에 시작됨)
IW ISO 연중 주차(새해 첫 번째 목요일이 1주차의 시작임)
DAY, Day, day 요일 이름(대문자, 대/소문자 혼용, 소문자, 9자까지 공백 채움)
DY, Dy, dy 요일 이름 축약어(대문자, 대/소문자 혼용, 소문자, 3자까지 공백 채움)
DDD 연중 일(001–366)
IDDD ISO 8601 주수 매기기 연도의 일(001-371, 해당 연도의 1일은 첫 ISO 주의 월요일)
DD 숫자 형태의 월중 일(01–31)
D 주중 일(1–7; 일요일이 1임)참고
날짜 부분에서 D는 DATE_PART 및 EXTRACT 날짜 함수에서 사용되는 주중 일(DOW)과 다릅니다. DOW는 0–6의 정수를 기반으로 하며, 일요일은 0입니다. 자세한 내용은 날짜 또는 타임스탬프 기능의 날짜 부품 단원을 참조하십시오.
ID ISO 8601 요일, 월요일(1)~일요일(7)
J 율리우스 일(BC 4712, 1월 1일 이후 일 수)
HH24 시간(24시간 방식, 00–23)
HH 또는 HH12 시간(12시간 방식, 01–12)
MI 분(00–59)
SS 초(00–59)
MS MS
US US
AM 또는 PM, A.M. 또는 P.M., a.m. 또는 p.m., am 또는 pm 대문자와 소문자의 오전/오후 표시자(12시간 방식일 때)
TZ, tz 대문자와 소문자의 시간대 축약어로서 TIMESTAMPTZ에 한해 유효함
OF UTC 기준 오프셋으로서 TIMESTAMPTZ에 한해 유효함

 

 

 

 

 

 

728x90
반응형
Comments