关于Oracle like模糊查询通配符如何查找第20个或者50个字符为R的语句怎么写

关于Oracle like模糊查询通配符如何查找第20个或者50个字符为R的语句怎么写

2个回答

SELECT * FROM (
select t.id,ROWNUM idx from tablename t where t.colum '%R%'
)z where z.idx > 20 and z.idx < 50;

简单、粗暴、有效。

qq_21741673
洗洗脚泡泡澡 回复WIHIeree: 嗯、不客气
大约一年之前 回复
qq_28354911
Wiyeeii 可以啦,谢谢你
大约一年之前 回复
qq_21741673
洗洗脚泡泡澡 回复WIHIeree: 这个是查询某字符串的第二十个位置字符为'R'的,你也可以改造一下
大约一年之前 回复
qq_21741673
洗洗脚泡泡澡 回复WIHIeree: SELECT * FROM tablename t where substr(t.columnname,20,21) = 'R';
大约一年之前 回复
qq_21741673
洗洗脚泡泡澡 回复WIHIeree: ......我终于懂你的意思了,上面的sql是查20到50条某字段的模糊查询,但是你要的是字符位置第20个或第50个字符,等下帖给你
大约一年之前 回复
qq_28354911
Wiyeeii 还是不怎么懂,如果我要查一个人的名字(假设有20个以上)第20个字符为R的怎么查
大约一年之前 回复

select * from test a where substr(a.text,20)='R' or substr(a.text,50)='R'

这个可以满足你的要求 ,,不过没有用到like

qq_28354911
Wiyeeii 好的,也可以实现,谢谢啦
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问