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

Pur_Hi님의 프로필 이미지
Pur_Hi

작성한 질문수

핵심만 쉽게, 모두의 SQL 데이터 분석

날짜타입함수 문의

작성

·

202

0

날짜타입함수강의를 보다가

회사 시스템을 활용하여 실습하였는데, 아래와 같은 에러가 나옵니다.

Error running query: line 2:24: Cannot check if timestamp is BETWEEN integer and integer

제가 사용한 함수는 다음과 같은데요.

Select order_id, order_created_at from order_15

where order_created_at between 2022-01-01 AND 2022-01-31

맞는 함수를 썼음에도 불구하고, Raw data에서 order_created_at 열의 데이터 형식이

2022-10-06 00:56:42.000

와 같은 타임스탬프형식이어서 오류가 뜨는건가 해서요..

이 경우 추가 명령어가 필요할까요? 어떤 명령어가 필요할지도 궁금합니다..

답변 2

1

데이터셰프님의 프로필 이미지
데이터셰프
지식공유자

안녕하세요,

1.

사용하시는 데이터 베이스 스키마를 정확히 알수 없지만,

쿼리와 열 데이터 타입간의 부조화와 관계된 듯 합니다.

'타임스탬프 형식이 정수인지 알수 없다'는 라는 에러인데, 아마 날짜를 숫자로 입력하면 에러는 나오지 않을 것 같습니다.

LIVE SQL 기준, 실습용 HR DB 참고 바랍니다.

image

2.

다음처럼 TO_CHAR나 TO_DATE 함수를 사용해 내가 원하는 날짜 형식을 바꿔서 조건을 재적용하는 것도 방법입니다.

SELECT HIRE

FROM

(

SELECT TO_CHAR(HIRE_DATE,'YYYYMMDD') HIRE

FROM HR.EMPLOYEES A

WHERE A.HIRE_DATE BETWEEN '17-JAN-03' AND '21-FEB-04'

)

WHERE HIRE BETWEEN '20030501' AND '20030714';

 

image

 

감사합니다.

 

 

0

Pur_Hi님의 프로필 이미지
Pur_Hi
질문자

회사에서 사용하는 sql문은 조금 달라서 다른 함수를 적용하긴 했는데, 가이드 주신 대로 적용하니 해결되었습니다

감사합니다 :)

Pur_Hi님의 프로필 이미지
Pur_Hi

작성한 질문수

질문하기