我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql使用instr达到in(字符串)的效果

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql使用instr达到in(字符串)的效果

使用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);

select * from t_city where instr(id,'1,2,3');

结果正确。但是如果我要查询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,','));

这里写图片描述

总结:

此用法是对instr函数一个偏门的使用,在某些特定的场合下,可以用来达到in函数的效果,但是存在一定的局限性,比如要通过特殊字符使每个值构成唯一避免出现偏差,使用的时候要注意。

到此这篇关于mysql使用instr达到in(字符串)的效果的文章就介绍到这了,更多相关mysql使用instr替代in内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql使用instr达到in(字符串)的效果

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql怎么使用instr达到in的效果

本文小编为大家详细介绍“mysql怎么使用instr达到in的效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql怎么使用instr达到in的效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。使用mys
2023-06-29

js如何使用Array.from达到.map的效果

这篇文章主要介绍js如何使用Array.from达到.map的效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Array.from 达到 .map 的效果咱们都知道 .map() 方法,.from() 方法也可以用
2023-06-27

python入门到实践-字符串的使用

跟大家说说字符串拼接,记得在之前的文章里我也写过一句字符串拼接的代码,但是没有做过多的解释;在公众号[假装我是程序猿]中字符串那篇文章有提到,感兴趣的可以去看看;对于字符串拼接我们可以通过 “+” 符号把两个或者多个字符串拼接在一起,看下栗
2023-01-31

使用经典 ASP 的字符串到数组

在经典 ASP 中,可以使用 Split 函数将字符串拆分为数组。以下是一个示例:```aspDim strstr = "apple,orange,banana"Dim arrarr = Split(str, ",")Dim iFor i
2023-09-26

MySQL 字符串转in/double类型—CAST/CONVERT函数的用法

在MySQL中,可以使用CAST和CONVERT函数将一个字符串转换为IN或DOUBLE类型。1. 使用CAST函数将字符串转换为INT类型:```sqlSELECT CAST('10' AS INT);```这将返回整型值10。2. 使用
2023-09-12

mysql使用字符串字段判断是否包含某个字符串的方法

目录mysql字符串字段判断是否包含某个字符串1. 使用 LIKE 操作符2. 使用 INSTR() 函数3. 使用 LOCAjavascriptTE() 或 POSITION() 函数4. 使用 FIND_IN_SET() 函数5. 使用
mysql使用字符串字段判断是否包含某个字符串的方法
2024-09-20

使用 MySQL 查询获取字符串的最后 5 个字符?

要使用 MySQL 获取字符串的前 n 个字符,请使用 LEFT()。为了获取字符串的最后 n 个字符,MySQL 中使用 RIGHT() 方法。RIGHT() 方法的语法如下 -SELECT RIGHT(yourColumnName, v
2023-10-22

MySQL字符串函数:substring_index()的使用详解

MySQL字符串截取函数substring_index()的使用 定义SUBSTRING_INDEX - 按分隔符截取字符串语法SUBSTRING_INDEX(str, delimiter, count)返回一个 str 的子字符串,在 deli
MySQL字符串函数:substring_index()的使用详解
2014-07-04

如何使用Python中的正则表达式进行字符串匹配

如何使用Python中的正则表达式进行字符串匹配正则表达式是一种强大的字符串模式匹配工具,它能够在文本中查找特定的模式,使程序能够更快速、更灵活地处理字符串。在Python中,我们可以使用re模块来操作正则表达式。本文将介绍如何使用Pyth
2023-10-22

使用正则表达式替换字符串的replace方法是什么

这篇文章主要讲解了“使用正则表达式替换字符串的replace方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用正则表达式替换字符串的replace方法是什么”吧!正则表达式(reg
2023-06-03

PHP的preg_match()函数:如何使用正则表达式匹配字符串

PHP的preg_match()函数:如何使用正则表达式匹配字符串,需要具体代码示例正则表达式在字符串处理中是非常强大和灵活的工具。在PHP中,使用preg_match()函数可以方便地进行字符串的正则匹配,从而实现各种复杂的模式匹配和替换
PHP的preg_match()函数:如何使用正则表达式匹配字符串
2023-11-04

PHP中的preg_split()函数:如何使用正则表达式分割字符串

PHP中的preg_split()函数:如何使用正则表达式分割字符串在PHP编程中,有时我们需要根据一定的规则来分割字符串,并将分割后的部分存储到一个数组中。PHP提供了一个非常强大的函数preg_split(),它使用正则表达式来实现字符
PHP中的preg_split()函数:如何使用正则表达式分割字符串
2023-11-03

编程热搜

目录