我使用以下查询在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附近的意外令牌是。由于
答案 0 :(得分:3)
可能是SQL Developer对列名“final”感到困惑。在Oracle PL / SQL中使用“final”来防止从Object类型继承。
尝试在SQL / Plus中运行语句 - 应该可以正常工作。
BTW,我建议使用to_number(final)而不是普通的演员。