해결된 질문
23.11.14 17:14 작성
·
307
·
수정됨
1
[기타 질문]선생님 3분 20초 쯤에, FORMAT_DATE('%Y', date)에 대한 주석 문에 대해서 int형이 아닌 String형으로 표시를 해야 할 것 같습니다.
date between '2022-01-01' and '2022-12-31' -- 2022
-- date between '2022-01-01' and '2022-12-31' EXTRACT(YEAR FROM date) = 2022 -- 2022
-- EXTRACT(YEAR FROM date) -> int로 나온다.
-- EXTRACT(날짜 단위 from 날짜 필드) FORMAT_DATE('%Y', date) = '2022' -- 2022
선생님께서 알려주신 3가지 방법으로 모두 적용해보니,
SELECT EXTRACT(YEAR FROM date), FORMAT_DATE('%Y', date) FROM project.daily_play WHERE (EXTRACT(YEAR FROM date) = 2023 AND mode = 3) OR (EXTRACT(YEAR FROM date) = 2022 AND mode = 4)
이런 식으로 나오더라구요. EXTRACT의 반환 값은 int형(숫자형)이 나오고, FORMAT_DATE이나 FORMAT_DATETIME의 경우 반환 값은 String 형태로 나오는 것 같습니다.
답변 1
0
2023. 11. 15. 02:30
안녕하세요
FORMAT_DATE는 STRING 타입으로 데이터를 반환하는 것이 맞습니다 🙂 따라서 작성하신 주석처럼 FORMAT_DATE('%Y', date) = '2022' 로 작업하여야 정상적으로 출력됩니다.
강의에서는 예를 들어 설명하다보니 그 부분이 누락된 것 같습니다. 해당 부분은 반영하여 강의에 표기 예정입니다! 확인 감사해요!