当前位置:   article > 正文

MYSQL 查询某字段中包含以逗号分隔的字符串的记录方法_mysql where 后判断两个逗号分隔的字符串

mysql where 后判断两个逗号分隔的字符串

表中有个字段是以逗号间隔存储的

mineral

idmineral
11,4,32
21,2

要根据mineral查询这个表的数据

怎么查询呢

select * from xxx where find_in_set(2,mineral);

查询结果是 :

idmineral
21,2

那么 find_in_set是一个什么函数呢?

MySQL提供了一个名为find_in_set()内置函数,运行在逗号间隔的字符串列表中查找指定字符串的位置。

find_in_set(needle,haystack);

find_in_set()函数接受两个参数:

第一个参数needle是要查找的字符串

第二个参数haystack是要搜索的逗号间隔字符串列表。

find_in_set(0函数根据参数的值返回一个整数或一个NULL值:

如果needle或haystack为null,则函数返回null值。

如果needle不在haystack中,或者haystack是空字符串,则返回零。

如果needle在haystack中,则返回一个needle在haystack中的位置。

请注意,如果needle包含逗号(,),该函数将无法正常工作。此外,如果needle是一个常量字符串,而且naystack是一个类型为set的列,mySQL将使用位算算术优化。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/268482
推荐阅读
相关标签
  

闽ICP备14008679号