인프런 커뮤니티 질문&답변

류재안님의 프로필 이미지
류재안

작성한 질문수

데이터 분석 SQL Fundamentals

Date, Timestamp, Interval 타입 개요 및 형변환과 포맷팅 이해

to_date 포맷관련 질문드립니다.

작성

·

413

0

안녕하세요. 강사님.

평소 궁금하고 잘 안됬던 부분들을 학습할 수 있어서 열심히 수강중입니다.

기초적인 질문이나 개념을 잡기 위해 문의드립니다.

select to_date('2022-01-01', 'yyyy-mm-dd');

select to_date('2022-01-01', 'yyyy/mm/dd');

select to_date('2022/01/01', 'yyyy/mm/dd');

select to_date('2022/01/01', 'yyyy-mm-dd');

 

위 네가지 모두 결과값으로는

to_date

2022-01-01

로 나오던데요.

 

to_date() 라는 것은 구성에 대한 부분일 뿐

date에 대한 db관리나 출력시의 포맷과는 무관한 것인가요??

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

to_date(문자열값, 문자열값의 포맷) 과 같이 문자열값의 어떤 부분이 년, 월, 일인지 포맷팅으로 나타내는게 원래 맞습니다.

따라서 select to_date('2022-01-01', 'yyyy-mm-dd') 또는 select to_date('2022/01/01', 'yyyy/mm/dd'); 와 같이 작성하는 것이 맞는 표현입니다.

그런데 select to_date('2022-01-01', 'yyyy/mm/dd')는 원래는 오류가 발생해야 맞는데, postgresql에서 사용자가 잘못 포맷팅 했거니(?) 하고, 알아서 변환하는 것 같습니다. 하지만 다른 DB에서는 오류가 발생할 수 있으니, 위에서 말씀드린대로 to_date()를 적용하는 것이 맞습니다.

감사합니다.

류재안님의 프로필 이미지
류재안

작성한 질문수

질문하기