相关文章推荐
聪明的勺子  ·  判断集合和map是否为空_判断map为空的工 ...·  10 月前    · 
严肃的吐司  ·  See-SQL审计平台介绍及部署 - ...·  10 月前    · 
怕老婆的仙人球  ·  数据库如何与DataTable同步_data ...·  1 年前    · 
细心的登山鞋  ·  mysql数据库总是连接失败,Warning ...·  2 年前    · 
深情的青蛙  ·  android - ffmpeg ...·  2 年前    · 
Code  ›  Oracle| Oracle大小写敏感问题_YvesHe的博客
select oracle oracle函数 大小写
https://blog.csdn.net/u011479200/article/details/89025708
怕老婆的手套
2 年前
  • 一丶库表列大小是否敏感
    • 需要说明的是Oracle大小写不敏感的前提条件是在没有使用引号`"`的前提下!!!
    • 当我使用了双引号`"`声明的`表名`,`列名`是明确区分大小写的!!!
      • 测试例子:创建大写表结构
      • 测试例子:创建小写表结构
    • 二丶查询语句字符串是否大小写敏感

    一丶库表列大小是否敏感

    首先,我们使用的Oracle的关键字时是不需要区分大小写的,比如创建表的CREATE或create是等价的.

    需要说明的是Oracle大小写不敏感的前提条件是在没有使用引号 " 的前提下!!!

    比如一下的sql创建出来的表结构都是一样,都是大写( 也就是大家常说的Oracle不区分大小写,默认都是大写 )
    在这里插入图片描述

    当我使用了双引号 " 声明的 表名 , 列名 是明确区分大小写的!!!

    测试例子:创建大写表结构

    在这里插入图片描述
    这里由于DESC是保留关键字,只能使用 " 引起来才能正常的工作
    使用以下语句能正常的工作:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    使用以下语句不能正常工作:
    在这里插入图片描述

    测试例子:创建小写表结构

    在这里插入图片描述
    使用以下语句能正常工作:
    在这里插入图片描述

    • Oracle默认是大写 ,也就是说在没有使用 " 对表名和列名进行限定的时候,表名不过是小写还是大写,最后都默认成了大写
    • 创建表结构时,如果使用 " 对表名或列名进行限定后,那么生成的表名或列名严格按照 " 中的大小写进行匹配,在查询是必须严格匹配.
    • SQL中如果使用了保留关键字,那么必须对该关键字用 " 进行限定,SQL正常的工作.

    二丶查询语句字符串是否大小写敏感

    Oracle对字符串中的内容是大小写敏感的.

    表中数据:
    在这里插入图片描述
    查询结果:
    在这里插入图片描述
    在这里插入图片描述

    一. Oracle 10g1.1说明在 Oracle 10g下,默认情况下,密码是不区分 大小写 的。这个是由于密码文件的默认参数有关。C:/Users/Administrator.DavidDai>orapwdUsage: orapwd file=entries= force= ignorecase=nosysdba=wherefile - name of password file (requi... 上周组内例会,提到不同数据库中 大小写 敏感 的 问题 , 问题 很小,但是如果不注意,尤其是开发不规范的场景,很容易进坑。首先,我们看下 Oracle 中对 大小写 的处理。例如用小写test1创建,但我们在... 11g通过一个参数设置密码 大小写 敏感 ,下面来做个试验: C:\Documents and Settings\guogang>sqlplus gg_test/gg_test@10.10.15.25_gg SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 8月 4 17:54:19 2014 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – 64bit Produ 在 Oracle 中,命令和对象名称都是 大小写 不 敏感 的,因为 Oracle 在处理语句时,将所有的名称和命令全部转化为大写。但是对于字符串中的字符,无论是比较还是排序,都是 大小写 敏感 的。这在 Oracle 是默认方式,但不是唯一的方式。下面看一个简单的例子:SQL> CREATE TABLE T (NAME VARCHAR2(30));表已创建。SQL> INSERT INTO T VALUES ... oracle 数据库 大小写 敏感 设置  将sec_case_sensitive_logon初始化参数设置为false后就不区分密码 大小写 了。   sql> show parameter sec_case_sensitive_logon    name type value    ------------------------------------ ----------- --------- (以下内容只有在"="号的情况下生效,LIKE 不行。)有时候我们查询的时候不想通过lower或者upper等函数而把 大小写 的内容都查询出来,如从sqlserver、mysql等转移到 oracle 时。在 oracle 10g可以通过修改session来实现:ALTER SESSION SET NLS_COMP=ANSI;ALTER SESSION SET NLS_SORT= 欢迎进入 Oracle 社区论坛,与200万技术人员互动交流 >>进入 一般情况下,使用者在进行 Oracle 开发或管理里都不会对 ORACLE 对像名 大小写 进行区别,因为ORALCE在普通情况下会将所有小写都转换为大写进行处理,所以可以说是 大小写 不 敏感 的。但是实际 ORACLE 内部有欢迎进入 Oracle 社区论坛,与200万技术人员互动交流 >>进入一般情况下,使用者在进行 Ora... -- SELECT * FROM V$PARAMETER; --去掉字符 大小写 敏感 设置:禁止密码 大小写 敏感 show parameter sec_case_sensitive_logon alter system set sec_case_sensitive_logon=false ; -- Oracle 11g中Exp空表的 问题 :禁用插入数据时才分配空间功能 show parameter deferred_segment_creation alter system set deferred_segment_creation=false; -- 查找空表: select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 ; select 'alter table '||owner||'.'||table_name||' allocate extent;' from dba_tables where num_rows=0 ; --数据库实例用户密码期限取消:无限期 select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME'; alter profile default limit password_life_time unlimited; 一、解决方案1、在表名、字段名、对象名上加上双引号,即可实现让 oracle 大小写 区分。2、但是这又引起了另一个 问题 :在数据库操作中,sql语句中相应的表名、字段名、对象名上一定要加双引号。解决办法是:使用"\"转义。如:Stringsql = "select * from userinfo where \"loginId\"=? andloginpwd=?";二、详解一般情况下,使用者在进行Ora... select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 3.查询日期对应的年月日:select to_char(sysdate,'yyyy') as 年,to_char(sysdate,'mm') as 月,to_char(sysdate,'dd') as 日 一、解决方案1、在表名、字段名、对象名上加上双引号,即可实现让 oracle 大小写 区分。2、但是这又引起了另一个 问题 :在数据库操作中,sql语句中相应的表名、字段名、对象名上一定要加双引号。解决办法是:使用"\"转义。如:String sql = "select * from userinfo where\"loginId\"=? and loginpwd=?";二、详解一 般情况下,使用者在进行O...
 
推荐文章
聪明的勺子  ·  判断集合和map是否为空_判断map为空的工具类-CSDN博客
10 月前
严肃的吐司  ·  See-SQL审计平台介绍及部署 - Harda - 博客园
10 月前
怕老婆的仙人球  ·  数据库如何与DataTable同步_datatables 数据同步-CSDN博客
1 年前
细心的登山鞋  ·  mysql数据库总是连接失败,Warning:mysql_connect() :Connection refused..._warning: mysql_connect(): connection refused_AppleWiner的博客-CSDN博客
2 年前
深情的青蛙  ·  android - ffmpeg library convert the layout in LTR direction - Stack Overflow
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号