mybatis中使用mysql的模糊查询字符串拼接(like)

方法一:

<!--  根据hid,hanme,grade,模糊查询医院信息--> <select id="getHospitalLike" resultType="com.hand.hand.domain.Hospital">    SELECT * FROM hospital    where hid like ‘%‘||#{selectword}||‘%‘ or hname like ‘%‘||#{selectword}||‘%‘ or grade like ‘%‘||#{selectword}||‘%‘ </select>

其他拼接法,可参考:https://www.cnblogs.com/dushan/p/4766954.html
时间: 2024-07-29 14:22:12

mybatis中使用mysql的模糊查询字符串拼接(like)的相关文章

mysql的模糊查询

mysql模糊查询like/REGEXP(1)like / not like MySql的like语句中的通配符:百分号.下划线和escape %:表示任意个或多个字符.可匹配任意类型和长度的字符. Sql代码 select * from user where username like '%huxiao'; select * from user where username like 'huxiao%'; select * from user where username like '%hux

MySQL指定模糊查询范围 或 获取或者查询数据库字段的特定几位

SUBSTR 函数 正常的: select * from sky_user WHERE name LIKE "%name%" 现在我需要匹配name的前五位 select * from sky_user WHERE SUBSTR(name,1,5) LIKE "%name%" SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracl

Mybatis学习第2节 -- 模糊查询之#和$的区别

先说结论, #是占位符,而$的行为是字符串拼接, 在参数是java的基本类型且只有一个参数的情况下,使用$时,只能用value作为参数传递 需求决定设计, 先在interface里面添加相应方法 public interface ShopMapper { Shop getShopById(Integer id); Shop getShopByIdAlias(Integer id); Shop getShopByTitleContainDollar(String value); Shop getS

[转]ORACLE中Like与Instr模糊查询性能大比拼

instr(title,'手册')>0  相当于  title like '%手册%' instr(title,'手册')=1  相当于  title like '手册%' instr(title,'手册')=0  相当于  title not like '%手册%' t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标.但经过实际测试发现,like的效率与instr函数差别相当大.下面是一些测试结果: SQL> set timi

ext.net中ComboBox空间实现模糊查询

ComboBox中的属性添加Mode="Local"可以实现第一个字的模糊查询但是搜索中间的字无法实现 现提供一下方法使用正则表达式实现全模糊查询 <ext:ComboBox ID="ComboBox1" runat="server" DisplayField="MingCheng" ValueField="Id" StoreID="Employ" Width="100&

生产库中遇到mysql的子查询

使用过oracle或者其他关系数据库的DBA或者开发人员都有这样的经验,在子查询上都认为数据库已经做过优化,能够很好的选择驱动表执行,然后在把该经验移植到mysql数据库上,但是不幸的是,mysql在子查询的处理上有可能会让你大失所望,在我们的生产系统上就由于碰到了这个问题: select  i_id, sum(i_sell) as i_sell from table_data where i_id in (select i_id from table_data where Gmt_create

mysql精准模糊查询使用CONCAT加占位符(下划线“_”)的使用,直接限定了长度和格式

比如现在有张表t_user,如下:(表中只是引用某某某的话,并无恶意) id name 1 司马懿 2 司马老贼 3 司马老贼OR司马懿 4 司马大叔 1.模糊查询一般用的模糊查询都是like关键词,然后再在要查的字段中用百分号“%”来查询自己想要的结果.对于上面数据,加入想查询“司马”开头的人 select * from t_user where name “司马%”: 这样查询的结果是把表中所有的数据都会查询出来. 但是,我现在需要查询以司马复姓并且名字中有1个或者两个(或者N个)的名字,显

【mysql】模糊查询的使用

1.like/not like 关键字的模糊查询(SQL模式) 基础模板:  SELECT  *  FROM   test  WHERE name LIKE '%你好_'     :匹配       xxxxxxx你好吗 通配符介绍: ①%     表示任意多个字符 ②_      表示一个任意字符 2.regexp/not regexp 关键字的模糊查询(正则模式) 基础模板: SELECT * FROM test WHERE name REGEXP '^ab[cde]fg$'   :匹配  

linq 实现查询字符串拼接 : And 和 OR 两种方式

N年前我们是这样来 拼接查询字符串的: public string Test(string a, string b, string c,string d) { string sql = "SELECT * FROM Users WHERE 1=1"; if (!string.IsNullOrEmpty(a)) { sql += " AND name='" + a + "'"; } if (!string.IsNullOrEmpty(b)) { s