为什么oracle认为这个查询格式不正确?

时间:2013-03-27 08:41:33

标签: sql oracle

我将以下sql发送到oracle db,并获取ORA-00907: missing right parenthesis

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') )

造成这个问题的原因是什么?

1 个答案:

答案 0 :(得分: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')