작성
·
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()를 적용하는 것이 맞습니다.
감사합니다.