반응형
ORA-00920: 잘못된 관계 연산자
데이터베이스에서 지정한 날짜보다 늦은 정보를 끌어오려고 합니다.날짜가 홀수 형식임을 미리 알아두어야 합니다.YYYYMMDDHH24MISS##
어디에##
제 질문에 쓸모없는 것을 정의하는 두 글자 문자열입니다.그래서 사용하고 있습니다.substr
그들을 제거하기 위해서 입니다.
아래의 제 쿼리는 다음과 같은 오류를 던지는데, 그 이유를 알 수 없습니다.
[오류 코드:920, SQL 상태: 42000] ORA-00920: 잘못된 관계 연산자
내 쿼리:
SELECT *
FROM table_name
WHERE to_date(substr(COLUMN_NAME,1,14), 'YYYYMMDDHH24MISS')) >=
to_date('MIN_DATE', 'YYYYMMDDHH24MISS')
날짜가 정확하게 정의되어 있는지 확인했고, 정확하게 정의되어 있습니다.
내가 사용한 용도의 예MIN_DATE
다음과 같습니다.20140101000000
첫 번째 to_date 끝에 추가 괄호가 있습니다.
비교 작업이 누락된 경우 Oracle에서는 다음과 같은 오류가 발생합니다.=
-- 존 메일렛이 이미 언급했듯이
제 관심사는 두번째 부분입니다.where
조항:
where to_date(substr(COLUMN_NAME, 1, 14), 'YYYYMMDDHH24MISS') >=
to_date('MIN_DATE', 'YYYYMMDDHH24MISS')
당신은 가지고 있다MIN_DATE
인용구 하나로이것은 8개의 글자로 시작하는 문자열로 해석됩니다.'M'
마지막으로 끝납니다.'E'
. 이는 변수로 해석되지 않습니다.아마도 당신의 말은:
where to_date(substr(COLUMN_NAME, 1, 14), 'YYYYMMDDHH24MISS') >=
to_date(MIN_DATE, 'YYYYMMDDHH24MISS')
문자열 및 날짜 상수에는 작은 따옴표만 사용해야 합니다.
날짜를 변환할 필요 없이 이 비교를 수행할 수 있어야 한다는 점을 덧붙이고 싶습니다.
where left(COLUMN_NAME, 14) = MIN_DATE
언급URL : https://stackoverflow.com/questions/24961804/ora-00920-invalid-relational-operator
반응형
'programing' 카테고리의 다른 글
unitest Vspytest (0) | 2023.10.21 |
---|---|
비트 와이즈 연산으로 인해 예기치 않은 변수 크기가 발생함 (0) | 2023.10.21 |
EF 6 및 Oracle을 사용하는 동안 테이블이 존재하지 않습니다.관리 데이터 액세스 (0) | 2023.10.21 |
스프링 최대 절전 모드가 있는 시퀀스에서 다음 값 가져오기 (0) | 2023.10.21 |
MySQL 오류 121 (0) | 2023.10.21 |