작성
·
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 참고 바랍니다.
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';
감사합니다.
0