pgsql -- like使用

本文介绍使用MyBatis结合PgSQL进行模糊查询的具体实现方式,包括DAO层的定义与SQL语句的编写,通过案例展示了如何在用户地址中使用LIKE子句进行搜索,以及在文件内容中查找包含特定关键词的数据。

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

工具:mybatis+pgsql

详见: pgsql官方文档

案例1 mybatis写法

dao层

List<User> list(String address); 

sql

<select id = "list"  resultType = "com.test.dto.User">
	select  username,address,sex
	  from  user
     where  address like '%' || #{address} || '%'
</select>

案例2 pgsql写法

详见: PostgreSQL LIKE 子句

数据

id       content  
1     一个数据自己的健康    
2     中华人民共和国国家卫生健康委员会
3     健康对人的重要性  
4     较强的身体活动能力和劳动能力  
5     社会适应良好和有道德     
6     健康不仅是躯体没有疾病         

sql: 获取文件内容含有健康的数据

select * from file where content like '%健康%'

查询结果

id       content  
1     一个数据自己的健康    
2     中华人民共和国国家卫生健康委员会
3     健康对人的重要性   
4     健康不仅是躯体没有疾病         
### PostgreSQL 中 LIKE 运算符的用法 LIKE 是 SQL 查询中的一个重要运算符,用于模式匹配字符串数据。此运算符通常与 WHERE 子句一起使用来筛选记录。 #### 基本语法 ```sql SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern; ``` `pattern` 参数可以包含通配符: - `%` 表示零个、一个或多个字符。 - `_` (下划线) 表示单个字符。 #### 使用 % 作为通配符的例子 查询名字以 "A" 开头的所有客户: ```sql SELECT customername FROM customers WHERE customername LIKE 'A%'; ``` 这会返回所有 `customername` 字段中以字母 A 开始的名字[^1]。 #### 使用 _ 作为通配符的例子 查找姓氏正好由六个字符组成的人名: ```sql SELECT lastname FROM employees WHERE lastname LIKE '_____a'; ``` 这里假设最后一个字符是 a 并且前面有五个任意字符。 #### 组合使用多种条件的情况 如果想要找到既含有特定前缀又含有所需后缀的数据项,则可组合两个百分号或其他符号: ```sql SELECT productname FROM products WHERE productname LIKE '%chair%'; ``` 上述命令将检索产品名称里任何位置都可能存在的单词 chair 的商品列表。 #### 大小写敏感度 默认情况下,在某些操作系统上(如 Linux),LIKE 对大小写的处理可能是区分大小写的;而在 Windows 上则不区分大小写。为了确保跨平台的一致行为,建议总是指定 CASE 关键字来进行显式的大小写比较操作。例如,要执行忽略大小写的搜索,应该这样写: ```sql SELECT city FROM cities WHERE lower(city) LIKE lower('%paris%'); ``` 这段代码先转换成小写字母再做对比,从而实现了无视原文大小写的匹配效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值