FIND_IN_SET函数

简介: 原来以为mysql可以进行这样的查询select id, list, name from table where 'daodao' IN (list);      (一)注:1. table含有三个字段id:int, list:varchar(255), name:varchar(255)实...

原来以为mysql可以进行这样的查询
select id, list, name from table where 'daodao' IN (list);      (一)
注:1. table含有三个字段id:int, list:varchar(255), name:varchar(255)

实际上这样是不行的,这样只有当name是list中的第一个元素时,查询才有效,否则都的不到结果,即使'daodao'真的再list中

再来看看这个:
select id, list, name from table where 'daodao' IN ('libk', 'zyfon', 'daodao');    (二)
这样是可以的
---------------------------------------------------------

这两条到底有什么区别呢?为什么第一条不能取得正确的结果,而第二条却能取得结果。

原因其实是(一)中 (list)    list是变量, 而(二)中 ('libk', 'zyfon', 'daodao')是常量

所以如果要让(一)能正确工作,需要用find_in_set():
select id, list, name from table where FIND_IN_SET( 'daodao' , list); (一)的改进版。


总结:所以如果list是常量,则可以直接用IN, 否则要用FIND_IN_SET()函数

目录
相关文章
|
2月前
|
SQL HIVE
数仓学习-----named_struct和collect_set函数
数仓学习-----named_struct和collect_set函数
43 5
|
7月前
CF443A Anton and Letters(去重set函数)
CF443A Anton and Letters(去重set函数)
26 0
|
6月前
|
SQL 分布式计算 大数据
`collect_set`函数用于将一组数据收集到一个集合中
`collect_set`函数用于将一组数据收集到一个集合中
84 1
|
6月前
|
分布式计算 MaxCompute
MaxCompute中,collect_set函数是一个聚合函数
MaxCompute中,collect_set函数是一个聚合函数
78 1
|
3月前
|
JSON 前端开发 JavaScript
【面试题】面试官:请你实现一个深拷贝,那如果是正则/set/函数怎么拷贝?
【面试题】面试官:请你实现一个深拷贝,那如果是正则/set/函数怎么拷贝?
|
8月前
|
前端开发 JavaScript API
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
|
6月前
|
存储 索引 Python
python-tuple(元组)-set(集合)-list(列表)-dictionary(字典)和Python数据类型转换函数
python-tuple(元组)-set(集合)-list(列表)-dictionary(字典)和Python数据类型转换函数
|
8月前
|
前端开发 API 网络架构
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(六)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(六)
|
8月前
|
前端开发 JavaScript 网络架构
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(三)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(三)