首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SQL语句LIKE CONCAT模糊查询

SQL语句LIKE CONCAT模糊查询

作者头像
全栈程序员站长
发布2022-09-02 11:25:29
发布2022-09-02 11:25:29
1.9K0
举报

大家好,又见面了,我是你们的朋友全栈君。

Oracle拼接字符串concat需要注意的小事项

在用ssm框架编写代码的时候,因为数据库换成了Oracle,在模糊查询数据的时候突然发现报错了

select * from SYS_MENU where url like concat(‘%’,#{roleName},’%’)

一直报错参数个数无效,在网上查找资料发现模糊查询的sql语句还是concat(‘%’,’s’,’%’)这样写的

但后面发现实际上oracle中不支持concat的三个参数的拼接,需要更正为

select * from SYS_MENU where url like concat(concat(‘%’,#{roleName}),’%’)

或者使用

select * from SYS_MENU where url like ‘%’ || #{roleName} || ‘%’;

<select id=”findByPage” resultMap=”BaseResultMap” parameterType=”MLopLog”> SELECT ID, SHELVE_NO, IN_TIME, OUT_TIME, ACCOUNT_ID, TRANS_TIME, TU_ID FROM TB_DM_ML_OPLOG t WHERE 1=1 <if test=”param.id != null “> AND t.ID=#{param.id} </if> <if test=”param.tuId != null and param.tuId != ””> AND t.TU_ID=#{param.tuId} </if> <if test=”param.accountId != null and param.accountId != ””> AND t.ACCOUNT_ID LIKE CONCAT(CONCAT(‘%’,#{param.accountId}),’%’) </if> <if test=”param.shelveNo != null and param.shelveNo != ””> AND t.SHELVE_NO LIKE CONCAT(CONCAT(‘%’,#{param.shelveNo}),’%’) </if> </select>

https://blog.csdn.net/lipr86/article/details/53669757

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139498.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • Oracle拼接字符串concat需要注意的小事项
    • select * from SYS_MENU where url like concat(‘%’,#{roleName},’%’)
    • select * from SYS_MENU where url like concat(concat(‘%’,#{roleName}),’%’)
    • select * from SYS_MENU where url like ‘%’ || #{roleName} || ‘%’;
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档