聊聊 SQL 语句中的占位符

image

大家都知道,在 SQL 语句中,可以使用 LIKE 进行模糊查询,

而且大家可能都知道,使用 LIKE 进行模糊查询,要用 % 符号,

如果 % 在两边,比如 %abc%,表示是全模糊查询,查询包含 “abc” 的所有字符串;

如果 % 在左边,比如 %abc,表示是查询所有以 “abc” 结尾的字符串;

如果 % 在右边,比如 abc%,表示是查询所有以 “abc” 开头的字符串;

其实这个 % 就叫做占位符。

可能大家不知道的是,LIKE 语句的占位符除了 % 占位符之外,还有 _ 占位符。

_ 占位符表示单个字符,例如:

SELECT * FROM table_name WHERE column_name LIKE 'A_';

表示查询任意以 “A” 开头且后面有一个字符的字符串,比如 “AB”、“AC” 等。

如果事先知道要查询的字符的长度和其中某些字符,使用 _ 占位符性能更高。

_ 占位符还可以跟 % 占位符,查询时更加灵活,比如:

SELECT * FROM table_name WHERE column_name LIKE '_a%';

表示查询第二个字符为 “a” 的所有字符串。

相比之下,_ 占位符减少了匹配的候选项数量,查询精确度更高,在大数据集上,这样的细化可能会比 % 占位符 更加高效。

LIKE 模糊查询是一个比较耗性能的行为,特别是以 % 开头的模式,理解这些占位符可以帮助我们更有效地构造查询并进行字符串匹配,提高程序性能。

往期精彩

  1. 闲话 .NET(7):.NET Core 能淘汰 .NET FrameWork 吗?
  2. 常用的 4 种 ORM 框架(EF Core,SqlSugar,FreeSql,Dapper)对比总结

我是老杨,一个执着于编程乐趣、至今奋斗在一线的 10年+ 资深研发老鸟,是软件项目管理师,也是快乐的程序猿,持续免费分享全栈实用编程技巧、项目管理经验和职场成长心得。欢迎关注老杨的公众号,相互交流,共同进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值