MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法_MySQL
首先我们建立一张带有逗号分隔的字符串。 CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产品2','2,4,7'); INSERT INTO test(pname,pnum) VALUES('产品3','3,4'); INSERT INTO test(pname,pnum) VALUES('产品4','1,7,8,9'); INSERT INTO test(pname,pnum) VALUES('产品5','33,4'); 查找pnum字段中包含3或者9的记录 mysql> SELECT * FROM test WHERE find_in_set('3',pnum) OR find_in_set('9',pnum); +----+-------+---------+ | id | pname | pnum | +----+-------+---------+ | 3 | 产品3 | 3,4 | | 4 | 产品4 | 1,7,8,9 | +----+-------+---------+ 2 rows in set (0.03 sec) 使用正则 mysql> SELECT * FROM test WHERE pnum REGEXP '(3|9)'; +----+-------+---------+ | id | pname | pnum | +----+-------+---------+ | 3 | 产品3 | 3,4 | | 4 | 产品4 | 1,7,8,9 | | 5 | 产品5 | 33,4 | +----+-------+---------+ 3 rows in set (0.02 sec) 这样会产生多条记录,比如33也被查找出来了,不过MYSQL还可以使用正则,挺有意思的 find_in_set()函数返回的所在的位置,如果不存在就返回0 mysql> SELECT find_in_set('e','h,e,l,l,o'); +------------------------------+ | find_in_set('e','h,e,l,l,o') | +------------------------------+ | 2 | +------------------------------+ 1 row in set (0.00 sec) 还可以用来排序,如下; mysql> SELECT * FROM TEST WHERE id in(4,2,3); +----+-------+---------+ | id | pname | pnum | +----+-------+---------+ | 2 | 产品2 | 2,4,7 | | 3 | 产品3 | 3,4 | | 4 | 产品4 | 1,7,8,9 | +----+-------+---------+ 3 rows in set (0.03 sec) 如果想要按照ID为4,2,3这样排序呢? mysql> SELECT * FROM TEST WHERE id in(4,2,3) ORDER BY find_in_set(id,'4,2,3'); +----+-------+---------+ | id | pname | pnum | +----+-------+---------+ | 4 | 产品4 | 1,7,8,9 | | 2 | 产品2 | 2,4,7 | | 3 | 产品3 | 3,4 | +----+-------+---------+ 3 rows in set (0.03 sec)

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

嗨,亲爱的小伙伴,你在使用“——”这种标点或者特殊符号的时候,还在特别机智的使用复制粘贴吗?还是需要打开word插入符号里才能输入?我给你介绍几种复制粘贴不好使的时候,应急的办法吧,希望你能喜欢:一、直接快捷键SHIFT+“-”同时使用shift+键盘的减号即可。可以参考上图,在Mac和win系统下都是通用的。二、输入法里使用:1、微软拼音输入法(1)使用微软拼音输入法状态,浮动条最右侧,点击笑脸符号:(2)左侧先找到符号,再右侧找到标点,如下图所示即可看到引号或者其他特殊符号:2、QQ拼音输入

PHP中int类型转字符串的方法详解在PHP开发中,经常会遇到将int类型转换为字符串类型的需求。这种转换可以通过多种方式实现,本文将详细介绍几种常用的方法,并附带具体的代码示例来帮助读者更好地理解。一、使用PHP内置函数strval()PHP提供了一个内置函数strval(),可以将不同类型的变量转换为字符串类型。当我们需要将int类型转换为字符串类型时,

Golang中如何检查字符串是否以特定字符开头?在使用Golang编程时,经常会遇到需要检查一个字符串是否以特定字符开头的情况。针对这一需求,我们可以使用Golang中的strings包提供的函数来实现。接下来将详细介绍如何使用Golang检查字符串是否以特定字符开头,并附上具体的代码示例。在Golang中,我们可以使用strings包中的HasPrefix

标题:Golang中判断字符串是否以指定字符结尾的方法在Go语言中,有时候我们需要判断一个字符串是否以特定的字符结尾,这在处理字符串时十分常见。本文将介绍如何使用Go语言来实现这一功能,同时提供代码示例供大家参考。首先,让我们来看一下Golang中如何判断一个字符串是否以指定字符结尾的方法。Golang中的字符串可以通过索引来获取其中的字符,而字符串的长度可

1、首先打开pycharm,进入到pycharm主页。2、然后新建python脚本,右键--点击new--点击pythonfile。3、输入一段字符串,代码:s="-"。4、接着需要把字符串里面的符号重复20次,代码:s1=s*20。5、输入打印输出代码,代码:print(s1)。6、最后运行脚本,在最底部会看到我们的返回值:-就重复了20次。

解决PHP中16进制转字符串出现中文乱码的方法在PHP编程中,有时候我们会遇到需要将16进制表示的字符串转换为正常的中文字符的情况。然而,在进行这个转换的过程中,有时会遇到中文乱码的问题。这篇文章将为您提供解决PHP中16进制转字符串出现中文乱码的方法,并给出具体的代码示例。使用hex2bin()函数进行16进制转换PHP内置的hex2bin()函数可以将1

PHP字符串匹配技巧:避免模糊包含表达式在PHP开发中,字符串匹配是一个常见的任务,通常用于查找特定的文本内容或验证输入的格式。然而,有时候我们需要避免使用模糊的包含表达式来确保匹配的准确性。本文将介绍一些在PHP中进行字符串匹配时避免模糊包含表达式的技巧,并提供具体的代码示例。使用preg_match()函数进行精确匹配在PHP中,可以使用preg_mat

PHP字符串操作:有效去除空格的实用方法在PHP开发中,经常会遇到需要对字符串进行去除空格操作的情况。去除空格可以使得字符串更加整洁,方便后续的数据处理和显示。本文将介绍几种有效的去除空格的实用方法,并附上具体的代码示例。方法一:使用PHP内置函数trim()PHP内置函数trim()可以去除字符串两端的空格(包括空格、制表符、换行符等),非常方便且简单易用
