oracle标识符

最近遇到一个问题,oracle根据where表达式抽取数据到hive中,总是提示列名为unknown identifier. 很奇怪明明列名就是对的,但就是识别不了。

直接连上oracle,执行select sql竟然也提示同一错误,从来没有接触过oracle,实在想不出是什么原因,但换一张表查询ok。对比一下发现唯一区别在于成功的表表名是大写。

原来oracle支持两种identifier,双引号扩起来的(quoted identifier)和 非双引号扩起来的(unquoted identifier). 表名是小写说明数据表在定义的时候,一定是引号扩起来的,则查询的时候必须带上引号;但如果表名是大写,则不需要用双引号扩起来。总之,只要带上引号怎么都不会错,就是太繁琐。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容