2013-03-27 85 views
2

我发送以下SQL到oracle分贝,并得到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

您的时间戳文字格式不正确。你忘了报价。写

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

甚至(因为你使用SQL标准时间戳文字格式)

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

而不是

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