oracle不是区分大小写的,比如:
CREATE TABLE TableName(id number)虽然写的时候是有大写和小写,但是在数据库里面是不区分的。
select * from tablename//这样是可以的
SELECT * FROM TABLENAME//这样写也不会有问题
SELECT * FROM TableName//都没问题
CREATE TABLE "TableName"("id" number) // 如果创建表的时候是这样写的,那么就必须严格区分大小写
SELECT * FROM "TableName"//不仅要区分大小写而且要加双引号,以便和上面的第三种查询方式区分开。
第一个问题,在Oracle下面的sql语句中,条件中的“值”的部分,肯定是区分大小写的,这个毫无疑问,whereusername='sysdba'这样写应该只会显示未查询到数据,这能叫报错信息。这是正常的提示信息;
第二个问题,在oracle9i中,对于Oracle的where条件语句中的顺序是有区别的,执行顺序是从右往左的,所以前面一句首先判断是符合的,就返回结果了,如果是后面一句,它未查到结果就不返回结果。
Oracle数据库内部是区分大小写的。举例说明一下:
create table t (id number)
等价于
create table T (id number)
以上两种情况下,表名不区分大小写,默认在数据字典中都是大写的T
但是如果使用如下的方式创建:
create table "t" (id number)
则,表名为小写。访问的时候必须使用双引号。
select * from "t"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)