[Presto SQL] Date_ADD 사용법 (부제 : 챗GPT 신뢰하지 마세요)

2023. 4. 25. 17:00SQL

반응형

요즘 회사에서 태블로, Redash 를 사용해 데이터를 분석 중이다.

태블로, Redash 에 연결된 데이터엔진은 Presto 인데, Presto 도 별개의 SQL 문법을 갖고 있다.

물론 보통은 공통의 표준문법을 기반으로 하고 있어, 완전히 다른 문법은 아니고, 표현의 순서가 조금 다른 정도이다. 

사용해보니, BigQuery 랑 비슷한 느낌이다. 

 

PrestoSQL 에서 Date_add 를 작성하려다가, 문득 헷갈려서 챗GPT의 도움을 받으려 질문을 해보았다.

챗GPT는 다음과 같은 답변을 주었다.

 

챗GPT 가 항상 똑똑한 것은 아니다. (chatGPT do not always Knock)

챗 GPT는 "Presto SQL" 을 주문한 것을 인식했고, 위와 같은 답변을 주었다.

date_add(date컬럼, Interval 기간 "기간유닛") 의 형태의 답변을 주었는데, 실제로 해당 쿼리는 작동하지 않았다.

내가 작성한 쿼리의 문제이겠거니 싶어 Interval "7" "day" 등 여러 형태로 바꾸어보았지만, 쿼리 실패가 발생했다.

 

다시 찾아보니, Date_Add 의 Presto SQL 형태는 아래와 같았다.

Date_add(Unit, Value, Timestamp)

* Unit : millisecond, second, minute, hour, day, week, month, quarter, year

* Timestamp : date, time, datetime, timezone, timestamp 형식 가능

 

예시.

date_add('Day', 1, date(reg_date))    -- reg_date 라는 컬럼을 기준으로 "1일" 의 기간을 더해줌.
date_add('Month', 2, date(reg_date))  -- reg_date 라는 컬럼을 기준으로 "2개월"의 기간을 더해줌

 

챗 GPT 가 훌륭한 보조수단은 맞지만, 마냥 똑똑한 보조는 되지 못하는 것 같다. 

챗 GPT 의 대답을 항상 의심해 볼 것.

반응형

'SQL' 카테고리의 다른 글

[공통] 쿼리의 시작_SELECT FROM WHERE  (0) 2020.05.18
[빅쿼리] 타임존 설정하기  (0) 2020.05.06
[빅쿼리] FORMAT_DATE / FORMAT_DATETIME  (0) 2020.05.04