Oracle模糊查询的几种方法【推荐最后一种】

博客主要归纳总结了Oracle和MySQL的模糊查询方法。包括Oracle中用“||”连接字符,嵌套查询,以及MySQL的like和Oracle的instr()函数有相同查询效果。还介绍了CONCAT函数在Oracle和MySQL中的区别,Oracle只支持两字符串拼接,MySQL可多字符拼接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

归纳总结😁--废话不多说,直接进入主题:


  1. 第一种

oracle 中的 || 起链接作用,使用“||”字符,连接成 --> %param%

AND a.EQUIPMENT_MODEL like '%' || #{param.equipmentModel} || '%'

示例:

结果:flowermoringrain


  1. 第二种

嵌套查询:

CONCAT(CONCAT('A', 'B'),'C')

示例:

结果:'ABC'


  1. 第三种(推荐)

MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果;

select * from 表名 where instr(字段名,值)>0;

示例:


想了解上述基本原理的🙋,就可以往下看了👇

总结:方法说明


第一个:很好理解 -> 连接🔗


第二个:

CONCAT( string1, string2 ) -> CONCAT函数返回string1连接string2后的一个字符串值。

复杂组合示例:

SELECT CONCAT(CONCAT(CONCAT('A', 'B'),'C'),'D')
--  'ABCD'

concat()函数Oracle和Mysql 的区别之处:

  • concat()函数在Oracle只支持两个字符串拼接,因此连接多个值,那么我们可以嵌套多个CONCAT函数调用

  • concat()函数在Mysql中可以多字符拼接


第三个:

关于:instr() 函数 -> instr(源字符串, 目标字符串)

  • instr函数返回要截取的字符串在源字符串中的位置

  • 并且查找个数是从1开始的1、2、3、4、5、6.......

示例:

--返回结果:3    默认第一次出现“l”的位置
select instr('helloworld','l') from HCY; 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值