Oracle中处理不区分大小写查询的处理

今天做jsp的一个查询,因中间用到对yhid的查询,此字段为字母或数字。所以大小写都不尽相同,如:LGR,LgR,lgR,当查询时不管输入大小写,都应当把这些记录查询出来。

 

select *
  from (SELECT

               t.yhid,//这里的yhid还不变,用于列表的显示,显示的结果还是大小写都有
               t.bmbh,
               t.bmmc,
               t.xm,
               t.yhmm,
               t.sfzh,
               t.jyhm,
               t.sjhm,
               lower(t.yhid) lower_yhid //在最后一列加了重新对yhid列出一次,用于后面的查询条件,
          FROM USER_INFO T) a
 WHERE 1 = 1
   and lower_yhid like '%lgr%'//这里的'%lgr%'在java中进行了小写处理 yhid.tolower()

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

白天学习了一下 SQL Server 的大小写处理的情况。SQL Server 中大小写区分的处理。

 

晚上学习学习 Oracle 的大小写处理的情况。

还真是彻底不一样啊

 

查询数据的时候。

SQL Server 默认 不区分大小写。 如果要区分,就要额外的设置。

Oracle 默认 区分大小写。如果不要区分,就要额外的设置。

 

下面就是 Oracle 的明细部分了。

 

首先是测试表/数据

SQL> CREATE TABLE tab (

 2    id  INT,

 3    val VARCHAR2(10)

 4  );

 

表已创建。

 

SQL> INSERT INTO tab

 2    SELECT 1, 'ABC123' FROM DUAL UNION ALL

 3    SELECT 2, 'abc234

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值