sql like

1.最简单的是%%通配略去

2._通配一个字母

3.[charlist]通配其中任意char,[^charlist]通配非其中char的一个char

4.java参数注入要自己写好,匹配条件。ps.setString(1,"%abc%");

### SQL 中 `LIKE` 的语法及使用 #### 什么是 `LIKE` `LIKE` 是一种用于模式匹配的 SQL 操作符,通常与字符串数据一起使用。它允许通过指定通配符来查找满足特定模式的数据[^1]。 #### 基本语法 以下是 `LIKE` 的基本语法: ```sql SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern; ``` 其中: - **column_name**: 被搜索的列名。 - **pattern**: 定义要匹配的模式,可以包含普通字符以及通配符。 #### 使用的通配符 `LIKE` 支持两种主要的通配符: 1. `%`: 表示零个或多个任意字符。 2. `_`: 表示单个任意字符。 这些通配符可以帮助构建灵活的查询条件。 --- #### 示例说明 ##### 示例 1: 查找以特定前缀开头的名字 假设有一个名为 `tb_user` 的表,结构如下: ```sql create table tb_user( id int comment '编号', name varchar(50) comment '姓名' ); ``` 如果想找到名字以 “张” 开头的所有记录,则可以这样写: ```sql SELECT * FROM tb_user WHERE name LIKE '张%'; ``` 此查询会返回所有姓氏为“张”的用户名称[^4]。 ##### 示例 2: 查找包含某个子串的名字 为了找出名字中包含“晓”字的所有人员,可以用以下方式实现: ```sql SELECT * FROM tb_user WHERE name LIKE '%晓%'; ``` 这里 `%晓%` 表达的意思是任何位置上含有“晓”这个汉字的内容都会被检索出来。 ##### 示例 3: 结合下划线(_)精确控制长度 当需要定位到恰好两个字母组成的英文单词时,“_ _”这样的形式就非常有用处了。比如下面的例子是从产品列表里筛选出那些品牌简称正好由两个英文字母构成的商品条目: ```sql SELECT product_brand FROM products WHERE product_brand LIKE '__'; ``` --- #### 注意事项 虽然 `LIKE` 提供强大的功能来进行模糊查询,但它也可能带来性能上的开销特别是对于大数据集而言。因此,在实际应用过程中应该谨慎考虑索引设计等因素的影响[^3]。 ```sql -- 创建带全文索引的表以便优化like操作效率 CREATE TABLE articles ( title VARCHAR(255), FULLTEXT(title) ); -- 利用全文搜索引擎替代简单的 like 查询提高速度 SELECT * FROM articles WHERE MATCH(title) AGAINST('关键词'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值