使用oracle时,发生标识符无效解决办法
1、一直以来写SQL语句发生标识符无效一般多为列名写错
导致
2、也有许多情况是使用了关键字作为了列名
但是今天发生了一个意外的情况,在oracle数据库建了一张表,创建成功后,发现数据表的列名是小写的,想了想看过的书里面说过oracle会自动将小写转换成大写,于是就选择性忽略了.
由于oracle会自动将我们写的SQL语句列名自动转为大写,所以平时写SQL时,采用全小写方式居多.
但是今天我却收获到了一个错误信息
标识符无效
检查了好几遍,都没有发现列名有错误
尝试了10+min进行解决,还是搞不定,百度了之后,得到的结果都是列名不一致导致,但是我检查了好几遍,都没有发现列名错误
结合之前有了解过PostgreSQL的怪异问题 于是将SQL语句中的列名加上双引号,成功查询出数据
得出结论:
Oracle表字段名 | SQL语句中的列名 | 正确性 |
---|---|---|
大写 | SQL语句中大写 | 正确 |
大写 | SQL语句中小写 | 正确(会自动将小写转为大写) |
大写 | SQL语句中小写(被引号包裹) | 错误 |
小写 | SQL语句中大写 | 错误 |
小写 | SQL语句中小写 | 错误(会自动将小写转为大写) |
小写 | SQL语句中小写(被引号包裹) | 正确(不进行大小写转换)` |