• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

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

23.04.09 09:54 작성 조회수 332

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()를 적용하는 것이 맞습니다.

감사합니다.