mysql怎么使用instr达到in的效果
作者:归人云淡风轻
时间:2023-05-03
来源:正软商城
浏览:5
使用mysql遇到一种情况:需要查出id在某一个id拼接的字符串中的记录,这个时候用idin(id1,id2,...)行不通,因为in语法里面的参数是数字型的,应该用instr语法,instr(idsStr,id)其中idsStr=‘id1,id2,id3…’下面举例说明:1建表createtablet_city(idint(10),namevarchar(20));insertintot_cityvalues(1,'北京'),(2,'上海
本文目录
使用mysql遇到一种情况:
需要查出id在某一个id拼接的字符串中的记录,这个时候用id in(id1,id2,...)行不通,因为in语法里面的参数是数字型的,应该用instr语法,instr(idsStr,id)其中idsStr=‘id1,id2,id3…’
下面举例说明:
1 建表
create table t_city (id int(10) ,name varchar(20));

insert into t_city values (1,'北京'),(2,'上海'),(3,'广州'),(4,'深圳'),(5,'杭州'),(12,'武汉');

2 查询
现在我需要查询id在字符串’1,2,3’里的城市,但是用in语法是不行的,因为in语法的参数不是字符串,可以用下面的方式来达到相同效果
select * from t_city where instr('1,2,3',id);
结果正确。但是如果我要查询id在字符串’3,4,5,12’里的城市,会发现结果出现偏差,查出了6个城市
select * from t_city where instr('3,4,5,12',id);
原来是由于武汉的id为12,而北京id为1,上海的id为2,根据instr的语义, id=1或2或12都能查出来,所以修改一下查法
select * from t_city where instr(',3,4,5,12,',concat(',',id,','));
作者最新文章
coreldraw快捷键怎么设置在哪里
2026-11-02 21:39
AO3最新可用链接及中文入口汇总
2026-10-29 13:32
coreldraw怎么插入图片 图片导入步骤
2026-10-27 15:37
coreldraw快捷键冲突 怎么改 自定义按键解决
2026-10-24 08:50
AO3中文界面设置指南与核心功能使用教程
2026-10-14 23:28
热门文章
更多
精品专题
更多
Mac软件
更多
火山引擎 网页版
Windows/ macOS/ Linux
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

















