[英]How to use like pattern matching with PostgreSQL and Python with multiple percentage (%) symbols?
[英]how to use a placeholder syntax for pattern matching using like operator in PostgreSQL with Spring Data JPA
我正在使用 Spring Data JPA 和 postgresql 作为数据库。想要使用用户给定的关键字搜索模式
@Query(value = "SELCET * FROM table_name WHERE column_name LIKE (CONCAT('%',:pattern,'%'))")
List<Class> findPattern(String pattern);
但是 :pattern 并没有替换为模式值
您可以尝试将整个LIKE
表达式绑定到单个占位符:
@Query(value = "SELECT * FROM table_name WHERE column_name LIKE :pattern")
List<Object[]> findPattern(String pattern);
用法将是这样的:
String value = "blah";
String pattern = "%" + value + "%";
List<Object[]> rs = repo.findPattern(pattern);
由于like %pattern%
与contains模式相同,因此您的用例甚至不需要编码查询:
List<MyClass> findByColumnNameContaining(String pattern);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.