问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

navicat 8 for mysql 怎么把一个逗号分隔的字符串拆分成每一段字符串都带引号的字符串?

发布网友 发布时间:2022-04-08 02:47

我来回答

4个回答

懂视网 时间:2022-04-08 07:08

首先,我们创建一个逗号分隔字符串。
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) 

版权声明:本文博客原创文章,博客,未经同意,不得转载。

MYSQL正在使用select发现现场记录方法,包括一个逗号分隔的字符串

标签:

热心网友 时间:2022-04-08 04:16

SQL:select concat("'",replace('1234aff,afd,defg,d',",","','"),"'")

处理步骤:

将原字符串中的,替换为','   即replace('1234aff,afd,defg,d',",","','")

在替换后的字符串首位添加' concat(str1,str2)

热心网友 时间:2022-04-08 05:34

select concat("'", replace("1234aff,afd,defg,d", ",", "','"), "'");

热心网友 时间:2022-04-08 07:09

你去使用SQLyog吧!它是可以满足你的要求
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 小米2s距离感应器怎么校正 什么是计算机内存和外存? - 信息提示 什么是内存和外存? 谁知道“hotfile”这个下载器在哪里下啊? 小米miui46.4.2.0稳定版距离感应器怎么校正 高会图怎么保存原图 TNT高会视频怎么保存 哪里有高级会计师视频下载? 时团高会视频在哪看 小米十打电话别人听着有杂音打微信电话就没事是什么原因? 小米同型号手机十护相打电话有噪音滋滋是怎么回事 热水器有防倒风管还要止逆阀吗 能率热水器带不带止回阀 东北安装燃气热水器要用止逆阀吗 强排燃气热水器烟道管可以直接接入烟道吗?是否需要安装止逆阀?谢谢啦 强排燃气热水器的排烟可不可不装止逆阀而直接与排气扇并用一排气孔直通窗外 美国公司名称取名有需要注意的地方吗? 美国对公司名称有什么要求? LLP和第四方物流是什么关系 索尼HiRes耳机MDR-1AM2的音质怎么样? 索尼HiRes耳机MDR-1AM2的解析力好不好? 索尼HiRes耳机MDR-1AM2的声音表现怎么样? 索尼HiRes耳机MDR-1AM2适合在哪些场景使用? 索尼HiRes耳机WH-H900N身上都搭载了哪些黑科技? 索尼HiRes耳机WH-H800的音质怎么样? 索尼HiRes耳机MDR-1AM2在外观上与上一代有差异么? 在外观上索尼HiRes耳机MDR-1AM2与1A相比有什么变化? 索尼HiRes耳机MDR-1AM2较之前的索尼MDR-1R有哪些不一样的地方呢? 小米8有陀螺仪和面部解锁么? 索尼HiRes耳机MDR-1AM2与1ABP的音质有差异么? 为什么小米8和平精英陀螺仪压枪的方向不一样? 索尼HiRes耳机MDR-1AM2的播放音乐的声音感觉是怎样的? 索尼HiRes耳机WH-H900N听歌怎么样,值得购买吗? 有没朋友小米手机陀螺仪坏了,怎么解决 索尼HiRes耳机1000X系列降噪耳机和h.ear系列的WH-H900N降噪耳机哪款更适合年轻人? 小米手机到底有没有三维陀螺仪?重力感应于陀螺仪的关系? 小米8se陀螺仪可以用吗,在刺激战场里 华为nova7怎么一键root? 华为Nova7怎么root?