Oracle访问数据库字段和表名不区分大小写。
创新互联是一家专业提供荔湾企业网站建设,专注与成都网站建设、成都网站制作、H5技术、小程序制作等业务。10年已为荔湾众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
如:以下两条语句
select name from test;
select NAME from TEST;
查询的结果是一样的。
另外说明:一般在查询数据库表中字段的内容时,是区分大小写的。
如果表中数据如下:
用下边语句可以查出结果:
select * from emp where ename='SMITH';
select * from emp where ename='SMITH';
但是如果用下边的语句则查询不出结果:
select * from emp where ename='smith';
Oracle的数据库的对象名,就是不区分大小写的啊。
除非你建表的时候用双引号引起来的,比如"tablename"(强烈不建议这么做)
否则,TableName 、 TABLENAME、tablename
都是一样的,在oracle系统中都是以 大写 TABLENAME 方式存储的表名信息。
大多数情况下,数据库对象名是不区分大小写的。
什么数据库的表名是大小写区分的?
我所知道的特例是Oracle,正常情况下,无论你输入的表名是大写、还是小写,那么都以大写存储的;使用的时候,大小写都可以。
而用双引号引起来的表名,如果是小写的话,那么使用的时候,必须用双引号引起来的小写才行。
是有区分的早先一直是在库中建在库中用,结果这次用pd9生成时忘了把一个属性关闭了,居然每次都要在数据库的表前指名“表空间"."表名"的形式而且必须加引号,必须记录大小写,否则就告诉我说没有视图,郁闷至死
于是查了相关网页,答案是有区分的,但是要在建表的时候强制区分,既所说的建表时用双引号。
否则oracle默认的没有区分,建表你用小写,没关系,oracle自动转成大写,再调用时用大小写都可以。如果建表时强制大小写的话,那就要用到upper,lower函数来转化。
至于表中所存的数据,还是有区分的,存入大写就是大写,存入小写就是小写,查询时要注意的。记住了下次一定处理,可怜呀,要在几百个表里一个个的把字段上的“去掉引号”,还要用alter
table
name1
rename
to
name2
!的方式去掉数据库表名称上的引号(对于这个name2的名称不用加名字空间了的:))