单引号包含的是char/varchar2字符串,区分大小写;另外,双引号包含的是对象名,也区分大小写(默认是大写)
例如:
create table test
create table Test
3 create table TEST
4 create table "TEST"
5 create table "Test"
6 create table "test"
1、2、3、4是相同的的,4、5、6不同
使用upper(字段/字符串)函数, 例如:
select upper(ename) from emp where upper(ename)=upper('scott');
这样括号里大小写随意填,对应的行数据也能查询出来。
如果要区分,就要额外的设置。Oracle 默认是区分大小写。如果不要区分,就要额外的设置。 下面就是不区分的脚本设置:ALTER SESSION SET NLS_COMP=ANSI;ALTER SESSION SET NLS_SORT=binary_ci;不过这个是在当前会话上,也就是说在每次发起查询的时候都需要执行这个才能起作用的。 但是网上也有其他的说法就是通过下面的方式来处理的:select from TUSER WHERE Lower(USER_CODE) = 'billy' 或者是 select from TUSER WHERE upper(USER_CODE) = 'BILLY' 但是此种方法会导致两个问题: 1、使用Lower或Upper后将不可以使用索引。2、建议在录入数据的时间你应该进行数据的格式化。
以上就是关于ORACLE中哪些时候区分大小写除了''中的内容全部的内容,包括:ORACLE中哪些时候区分大小写除了''中的内容、Oracle中如何去除大小写区分的设置、Oracle中如何去除大小写区分的设置!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)