今天的问题以前没有遇到过,特分享下,各位多多指点[oracle查询重复个数问题]...

表结构如下:
create table test(id varchar(20));
insert into test('testApp');
insert into test('testAPP');
insert into test('TestAPP');
insert into test('infosys');
insert into test('DataStar');
insert into test('Test');

问题描述:
今天在公司做项目时,遇到了这个问题。因工作关系,不用真实表,大家别拍砖啊.
这个表是以前的录入的数据.上面的这个数据不算是重复的,也不能更改,因为它有
很多引用关系.
现在需求:
新添加的数据要进行重复行判断

根据传入的查询条件id做重复判断,并且返回个数,id查询不区分大小写,
如id='testapp' 和 'testAPP'视为同一个字符串.
select count(*) from test t where t.id in(
lower('testApp'),
upper('testApp'),
'testApP')
--解决办法1

select count(*) from upm_app t
where
translate(id,lower('testApp')||upper('testApp')||id,lower('testApp')||lower('testApp'))
=lower('testApp');

有朋友说当test表数据量大的时候影响性能,大家一起分析下
--解决办法2
select count(*) from test t where lower(id) = lower('testapp')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值