今天做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