一直都认为oracle是不区分大小写,奇怪的现象,我查询视图结构,SQL如下:
select column_name from all_tab_columns where table_name='v_user'
-- no rows selected.
select column_name from all_tab_columns where table_name='V_USER'
-- 可以搜索到字段结果
我想问的是Oracle中哪些对 大小写是敏感的(表名、字段名、存储过程名、变量名、视图名)
7 个解决方案
#1
不管你创建对象的时候用的是大写还是小写,最后你在视图中查询对象名的时候都是大写。
不区分大小写是指你在创建的时候不区分。
如下:(第二次创建的时候就会报错)
create table tt(a number);
create table TT(a number);
#2
是的,要注意应用的范围。
建议楼主在脚本中多用upper , 你懂得!
建议楼主在脚本中多用upper , 你懂得!
#3
楼主这样理解,数据字典方面存储的都是不区分大小写(统统为大写)。
而存储在表中的数据才区分大小写。
而存储在表中的数据才区分大小写。
#4
create table mytable(a int) ;
create table "mytable" (a int) ;
-- 会创建两张表, 上面的会转成大写,下面的不转。
#5
PHP传递查询语句过去,如果表名没有加引号会直接报错。
#6
报 表名不存在? 回头试试。
#7
你在oracle 创建对象的时候, 如果没有加双引号, 默认都会转成大写的。
在用这些对象的时候, 是不区分大小写的。 但是你差的视图, 他以字符串的形式存的,当然就会区分大小写了,就跟你查询正常的表记录一样。
在用这些对象的时候, 是不区分大小写的。 但是你差的视图, 他以字符串的形式存的,当然就会区分大小写了,就跟你查询正常的表记录一样。
#1
视图名:V_USER
一直都认为oracle是不区分大小写,奇怪的现象,我查询视图结构,SQL如下:
select column_name from all_tab_columns where table_name='v_user'
-- no rows selected.
select column_name from all_tab_columns where table_name='V_USER'
-- 可以搜索到字段结果
我想问的是Oracle中哪些对 大小写是敏感的(表名、字段名、存储过程名、变量名、视图名)
不管你创建对象的时候用的是大写还是小写,最后你在视图中查询对象名的时候都是大写。
不区分大小写是指你在创建的时候不区分。
如下:(第二次创建的时候就会报错)
create table tt(a number);
create table TT(a number);
#2
是的,要注意应用的范围。
建议楼主在脚本中多用upper , 你懂得!
建议楼主在脚本中多用upper , 你懂得!
#3
楼主这样理解,数据字典方面存储的都是不区分大小写(统统为大写)。
而存储在表中的数据才区分大小写。
而存储在表中的数据才区分大小写。
#4
create table mytable(a int) ;
create table "mytable" (a int) ;
-- 会创建两张表, 上面的会转成大写,下面的不转。
#5
create table mytable(a int) ;
create table "mytable" (a int) ;
-- 会创建两张表, 上面的会转成大写,下面的不转。
PHP传递查询语句过去,如果表名没有加引号会直接报错。
#6
create table mytable(a int) ;
create table "mytable" (a int) ;
-- 会创建两张表, 上面的会转成大写,下面的不转。
PHP传递查询语句过去,如果表名没有加引号会直接报错。
报 表名不存在? 回头试试。
#7
你在oracle 创建对象的时候, 如果没有加双引号, 默认都会转成大写的。
在用这些对象的时候, 是不区分大小写的。 但是你差的视图, 他以字符串的形式存的,当然就会区分大小写了,就跟你查询正常的表记录一样。
在用这些对象的时候, 是不区分大小写的。 但是你差的视图, 他以字符串的形式存的,当然就会区分大小写了,就跟你查询正常的表记录一样。