工作中常会用Excel中的数据去查询MySQL数据,比如Excel里面有一系列ID,需要使用这些ID去查询数据库,比如使用如下查询语句:
select * from test where id in (1,2,3)
那么如何快速的达成这个目的?
1)如果Excel中存储的数据对应MySQL的列的类型是字符类型的,那么需要先将Excel
中这列的数据加上引号,方法如下图所示:
使用函数
="'"&C2&"'"
“” 包着 ’ ,中间为行列号,表示给这一单元格左右添加上引号。
上述方法比较难记,可以使用concat方法,将列前后与'连接起来即可。
在往下拉,应用到整列:
最终效果:
2) 使用textjoin函数将一列的数据用逗号分隔并连接起来。
=textjoin(",",true,d2:d4)
第一个参数为分隔符,这里是半角逗号,第二个参数为是否忽视空行,这里需要忽视,
后面的参数则为列的范围。
最终效果如下如所示:
最后将textjoin函数使用之后的结果使用左右括号包起来即可达成使用Excel数据读取数据库的目的,即:
select * form test where column in('a','b','c')