mysql语句中判断是否包含某字符串的方法

2024-10-14 01:25:01

1、find_in_set现在我们遇到这样一个需求,字段里面的值是这样的,(1,2,3,4),(12,14),(3,5,11,12),(22,25,28,29)

mysql语句中判断是否包含某字符串的方法

2、然后需要判断字段里面是否有2这个值,如果我们使用like的话,肯定是得不到正确的结果(如果不信,可以用like去验证一下)

mysql语句中判断是否包含某字符串的方法

3、这里我们来了解一下find_in_set,它是一个mysql字符串函数,用它就可以完美解决上面的问题。

mysql语句中判断是否包含某字符串的方法

4、用法如下:find_in_set(2, 字段名称) = 0表示该字段不含有2,find_in_set(2, 字段名称) >= 1表示该字段含有2。

mysql语句中判断是否包含某字符串的方法

5、SELECT find_in_set('2', '挢旗扦渌;1,2,3,4,5') as test稆糨孝汶;-> 2SELECT find_in_set('2', '12,23,26,29') as test;-> 0

mysql语句中判断是否包含某字符串的方法

6、locate它也是一个mysql字符串函数,方法如下:locate(单个字符串, 字段名称),和find_in_set用法相似,那它俩有没有区别的呢,看如下例子:

mysql语句中判断是否包含某字符串的方法

7、执行sql语句:SELECT find_in_set('13', '3,6,13,24,33,36') as test;-> 3SELECT locate('13', '3,6,13,24,33,36') as test;-> 5这下知道区别了吧!理解了它们的用法和区别,在实际的项目的过程中就可以灵活使用咯。

mysql语句中判断是否包含某字符串的方法mysql语句中判断是否包含某字符串的方法
猜你喜欢