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

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

CREATE TABLE tablename (ID number);oracle

在查询的时候表名能够任意大小写。spa

create table table_name(id number);对象

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

create table Table_name(id number);table

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

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

不加双引号建表:select

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

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

而且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  均可以。

相关文章
相关标签/搜索