mysql 以逗号分割的字符 按指定字符进行查询

如图数据库中的字符如下:

现在要根据给定的字符串进行查询,如查找audit_id中包含:2951709287022721的数据,这时可以用 FIND_IN_SET 函数进行查询

sql如下:

SELECT  s.audit_id  FROM SUPPLIER s WHERE FIND_IN_SET ('2951709287022721',s.audit_id)

结果如下:

至此查出我们想要的结果。

 

FIND_IN_SET(needle,haystack); 函数说明:

允许您在逗号分隔的字符串列表中查找指定字符串的位置,

  • 第一个参数needle是要查找的字符串。
  • 第二个参数haystack是要搜索的逗号分隔的字符串列表

 根据参数的值返回一个整数或一个NULL

  • 如果needlehaystackNULL,则函数返回NULL值。
  • 如果needle不在haystack中,或者haystack是空字符串,则返回零。
  • 如果needlehaystack中,则返回一个正整数。

 

posted @ 2022-05-26 14:13  海棠匠心  阅读(2597)  评论(0)    收藏  举报