ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle中的大小写

Oracle中的大小写

原创 Linux操作系统 作者:softZEROware 时间:2010-01-31 21:53:13 0 删除 编辑

这几天看的oca的教材,期间做了一个查询操作

select owner,table_name,comments

from all_tab_comments

where table_name='CHANGE_LOG';

是个查询表注释的操作,敲得是后表名用的是‘chang_log’,没有用大写,结果就是查不出来,之前总是记得不区分大小写,这回又区分了,搜寻答案的过程总是收获颇丰

1、在查询时时区分大小写的,可做实验如下

     

创建test表,有一列名为ID,值a

select * from test where id = 'a';

select * from test where id = 'A';

结果是不同的

2、有解除这种区分大小写的方法:

ALTER SESSION SET NLS_COMP=ANSI;
ALTER SESSION SET NLS_SORT=binary_ci;

还有给出解释的一篇文章,不过后半部分没懂、、、

参考资料:http://space.itpub.net/756652/viewspace-242382

3、找结果的过程还发现一个11g用户口令区分大小写的方法

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE    11.1.0.6.0      Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production

我的版本

在11g中有个初始参数可以供用户控制口令用不用区分大小写,该参数为:
sec_case_sensitive_logon=true       区分大小写  (default)
sec_case_sensitive_logon=false       不区分大小写

4、上面链接的博客里set autot on这个命令没懂什么意思

5、在不知道要查询的字符串在数据库中存储的是大写还是小写的情况下,可以用UPPER(name) = 'A',即先统一变成大写,或用LOWER变小写

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17016200/viewspace-626503/,如需转载,请注明出处,否则将追究法律责任。

上一篇: nat改成桥接
下一篇: oca笔记-chp3
请登录后发表评论 登录
全部评论

注册时间:2009-02-18

  • 博文量
    45
  • 访问量
    29548