oracle表名、字段名大小写问题。

oracle  表名 、字段名 默认不区分大小写,除非建表语句中带双引号 如CREATE TABLE "TableName"("ID" number)。

CREATE TABLE tablename (ID number);

在查询的时候表名可以任意大小写。

create table table_name(id number);

当该表其中的一个字母为大写时 会报错。

create table Table_name(id number);

ORA-00955: name is already used by an existing object

数据库已经有同名对象。即在不加双引号的情况下,oracle认为 table_name 和Table_name 是一样的。

不加双引号建表:

select * from table_name;
select * from TABLE_NAME;
select * from Table_name;

以上三种都可以查询出结果。

并且oracle中显示的表名为大写:

使用双引号建表:

CREATE TABLE "TableName"(id number)

使用以下方式查询,都会提示表不存在:

select * from tablename;
select * from TABLENAME;
select * from Tablename;
select * from TableName;

即使使用的名称和建表时使用的一样,也还是会报错。

ORA-00942: table or view does not exist。

只有使用 select * from "TableName" 才可以查询数据。

数据库显示为大小写分明:

 字段名和表名同理,如果建表的时候字段名称有双引号,那么在查询的时候,在字段名上也需要使用双引号。即使表名没有使用双引号。即

CREATE TABLE TABLENAME("ID",NUMBER)。

在查询时使用 select  "ID"  from  tablename 或 select "ID" from Tablename  都可以。

posted @ 2018-07-16 16:50  啦啦啦啦啦啦啦啦啦啦  阅读(7260)  评论(1编辑  收藏  举报