2013-03-27 3 views
2

다음 SQL을 oracle db로 보내고 ORA-00907: missing right parenthesis을 얻습니다.oracle에서이 쿼리의 형식이 잘못되었다고 생각하는 이유는 무엇입니까?

SELECT "LOGS"."ID", 
    "LOGS"."USER_ID", 
    "LOGS"."TIMESTAMP", 
    "LOGS"."SESSION_ID"   
FROM "LOGS" 
INNER JOIN "USERS" ON ("LOGS"."USER_ID" = "USERS"."USER_ID") 
WHERE ("USERS"."USERNAME" IS NOT NULL 
    AND "LOGS"."TIMESTAMP" <= TO_TIMESTAMP(2013-03-26 23:59:59, 'YYYY-MM-DD HH24:MI:SS.FF') 
    AND "LOGS"."TIMESTAMP" >= TO_TIMESTAMP(2013-03-26 00:00:00, 'YYYY-MM-DD HH24:MI:SS.FF')) 

이 문제의 원인은 무엇입니까?

답변

5

타임 스탬프 리터럴 형식이 잘못되었습니다. 따옴표를 잊어 버렸습니다. (당신은 SQL 표준 타임 스탬프 문자 형식을 사용하고 있기 때문에)

TIMESTAMP '2013-03-26 23:59:59' 

대신

TO_TIMESTAMP(2013-03-26 23:59:59, 'YYYY-MM-DD HH24:MI:SS.FF') 
을도

TO_TIMESTAMP('2013-03-26 23:59:59', 'YYYY-MM-DD HH24:MI:SS.FF') 

또는 쓰기

관련 문제