使用强制转换创建oracle视图在oracle sql developer中出错

时间:2012-06-25 06:53:17

标签: database oracle database-design view oracle-sqldeveloper

我使用以下查询在oracle sql developer中创建oracle视图,

    select * from (SELECT DATEENTER as PI_TIMESTAMP,PI_TAG as  PI_TAGNAME, 
case when LENGTH(TRIM(TRANSLATE(final, ' +-.0123456789', ' '))) is null then cast(final as number) else null end as PI_VALUE,
STATUS AS  PI_STATUS  
FROM T2) a
where PI_VALUE is not null

查询在查询窗口中工作正常,但它给出了错误错误解析SQL:在134附近的意外令牌。当我尝试将其创建为视图

时,136附近的意外令牌是。

由于

1 个答案:

答案 0 :(得分:3)

可能是SQL Developer对列名“final”感到困惑。在Oracle PL / SQL中使用“final”来防止从Object类型继承。

尝试在SQL / Plus中运行语句 - 应该可以正常工作。

BTW,我建议使用to_number(final)而不是普通的演员。