mysql中in条件使用字符串方式

作者:lizz666 时间:2024-01-28 02:24:55 

mysql中in条件使用字符串

场景

当sql使用in作为条件时,使用一个参数满足查询条件,直接传入字符串无法满足条件。

select id,name from user where id in(?)

方法

使用FIND_IN_SET(str,strlist)函数

select id,name from user where FIND_IN_SET(id,#{strlist})
  • str: 条件字段

  • strlist:匹配值集合

select id,name from user where FIND_IN_SET(id,'111,22,333')

mysql查询 in条件参数为带逗号的字符串,查询结果错误

如有以下sql:

SELECT
    (
        SELECT
            GROUP_CONCAT(content)
        FROM
            account_limit_user ur
        WHERE
            ur.id IN (T1.limit_user)
        GROUP BY
            ur.id
    ) AS limit_user
FROM
    account T1
WHERE
    1 = 1

T1.limit_user 为account表中查询出来的值

‘9,8,4’

查询sql正确查询结果应为:

不可推荐 ,推销客户,推销客户

实际结果为:

不可推荐

原因:

在mysql中in里面如果是字符串的话,会自动转化成int类型的,内部使用了如下方法:

CAST('4,3' AS INT)

导致’4,3‘ 变成了4,所以上述查询sql结果只有第一个。

解决方案

FIND_IN_SET('查询的值(如:1)', '使用逗号隔开的字符串集合,如:('1,2,3')')

正确的sql

SELECT
    (
        SELECT
            GROUP_CONCAT(content)
        FROM
            account_limit_user ur 
        WHERE
            FIND_IN_SET(ur.id, T1.limit_user) > 0
    ) AS limit_user,
    T1.limit_user limit_userid
FROM
    account T1
WHERE
    1 = 1

来源:https://lizz6.blog.csdn.net/article/details/114140357

标签:mysql,in条件,字符串
0
投稿

猜你喜欢

  • python 列表套json字典根据相同的key筛选数据

    2022-06-01 08:52:02
  • JavaScript预解析及相关技巧分析

    2024-04-10 10:57:32
  • JavaScript实现Ajax总结

    2024-05-06 10:08:28
  • mysql 5.5.8的几个注意事项

    2011-01-04 19:34:00
  • Symfony2框架创建项目与模板设置实例详解

    2023-11-20 23:36:39
  • Python实现向QQ群成员自动发邮件的方法

    2021-08-16 13:41:33
  • 详解javascript常用工具类的封装

    2024-05-11 09:36:38
  • golang elasticsearch Client的使用详解

    2024-05-28 15:24:41
  • python 通过dict(zip)和{}的方式构造字典的方法

    2023-10-03 00:05:12
  • Javascript中的arguments对象

    2024-04-30 09:50:54
  • 使用sklearn对多分类的每个类别进行指标评价操作

    2022-04-20 17:19:39
  • Yii1.0 不同页面多个验证码的使用实现

    2024-05-11 09:53:57
  • Python实现程序判断季节的代码示例

    2022-04-04 13:30:22
  • Python中使用matplotlib模块errorbar函数绘制误差棒图实例代码

    2022-11-09 17:01:42
  • pytorch 利用lstm做mnist手写数字识别分类的实例

    2023-01-31 03:15:38
  • 关于Python中的闭包详解

    2022-04-18 02:12:46
  • python模糊图片过滤的方法

    2022-07-01 04:37:16
  • asp如何对Access数据库进行压缩?

    2009-11-19 21:20:00
  • ASP 改良版MD5、SHA256多重加密类(二次及多次)

    2012-11-30 20:26:47
  • Python Dataframe常见索引方式详解

    2023-06-21 21:03:25
  • asp之家 网络编程 m.aspxhome.com