如何解决ORA 00936缺少表达式错误?

时间:2012-08-28 09:29:45

标签: oracle oracle10g ora-00936

Select /*+USE_HASH( a b ) */ to_char(date, 'MM/DD/YYYY HH24:MI:SS') as LABEL,
ltrim(rtrim(substr(oled, 9, 16))) as VALUE,
from rrfh a, rrf b,
where ltrim(rtrim(substr(oled, 1, 9))) = 'stata kish' 
and a.xyz = b.xyz 

上述查询的“from”(第3行)部分给了我ORA-00936 Missing EXPRESSION error。请帮帮我

注意 :: rrfh表中不包含任何数据。

5 个答案:

答案 0 :(得分:15)

删除逗号?

select /*+USE_HASH( a b ) */ to_char(date, 'MM/DD/YYYY HH24:MI:SS') as LABEL,
ltrim(rtrim(substr(oled, 9, 16))) as VALUE
from rrfh a, rrf b
where ltrim(rtrim(substr(oled, 1, 9))) = 'stata kish' 
and a.xyz = b.xyz

查看FROM

  

从多个表中选择您可以在中包含多个表   FROM子句通过列出表在每个表之间用逗号表示   名称

答案 1 :(得分:1)

此答案不是上述问题的答案,但与同一主题相关,可能对搜索相同错误的人很有用。

当我执行下面提到的查询时,我遇到了同样的错误。

inputSheet

上述查询的

问题是 OR 是关键字,因此当我用其他别名替换时,它期望其他值也可以。

答案 2 :(得分:0)

update INC.PROV_CSP_DEMO_ADDR_TEMP pd 
set pd.practice_name = (
    select PRSQ_COMMENT FROM INC.CMC_PRSQ_SITE_QA PRSQ
    WHERE PRSQ.PRSQ_MCTR_ITEM = 'PRNM' 
    AND PRSQ.PRAD_ID = pd.provider_id
    AND PRSQ.PRAD_TYPE = pd.prov_addr_type
    AND ROWNUM = 1
)

答案 3 :(得分:0)

删除SELECT语句末尾的昏迷(VALUE),并删除FROM语句末尾的那个(rrf b,)

答案 4 :(得分:0)

每次您插入/更新并且您不使用单引号时,就会发生这种情况。当变量为空时,将导致该错误。使用''

对其进行修复

假设第一个参数是一个空变量,这是一个简单的示例:

nvl( ,0)

修复

nvl('' ,0)

将查询放入数据库软件中,并检查该错误。一般来说,这很容易解决