按分隔符把字符串拆成多行
引言
截取和拆分字符串在编程生涯中是普遍存在的,在sql中也不例外,下面就让我们来一起探索mysql中字符串的截取和拆分吧。
截取字符串
一、left(str,length)
从左边截取字符串,参数str:被截取的字符串,length:截取的长度
SELECTLEFT('中华人民共和国从此站起来了',7);
截取结果:
二、right(str,length)
从右边截取字符串,参数str:被截取的字符串,length:截取的长度
SELECTRIGHT('中华人民共和国从此站起来了',6);
截取结果:
三、截取特定长度的字符串
有两种用法: substring(str,pos)
参数str:被截取的字符串,pos从第几位开始截取,当为正数时从左开始数,当为负数时,从右开始数,从第几位开始截取,直至字符串结束;
substring(str,pos,length)
参数str:被截取的字符串,pos从第几位开始截取,当为正数时从左开始数,当为负数时,从右开始数,从第几位开始截取,向右截取length个字符。
1.从字符串第n个字符开始到结束
SELECT SUBSTRING('abcdefg',3);
截取结果:
cdefg
2.从字符串第3个字符开始,只截取4位
SELECT SUBSTRING('abcdefg',3,4);
截取结果:
cdef
3.从字符串倒数第3个字符开始至结束
SELECT SUBSTRING('abcdefg',-3);
截取结果:
efg
4.从字符串倒数第3个字符开始,只截取2位
SELECT SUBSTRING('abcdefg',-3,2);
截取结果:
ef
四、按分隔符截取
SUBSTRING_INDEX(str,delim,count)
参数str:被截取的字符串;
参数delim:分隔符;
参数count:第几个分隔符,为正数时,截取从左往右第几个分隔符左边的内容,为负数时,截取从右往左第几个分隔符右边的内容。
1.截取第1个 "-"之前的所有字符
SELECT SUBSTRING_INDEX('100-200-300-400','-',1);
截取结果:
100
2.截取倒数第1个"-"之后的所有字符
SELECT SUBSTRING_INDEX('100-200-300-400','-',-1);
截取结果:
400
3.截取中间的某个值
比如说要取100-200-300-400 的第二个,可以先取count为2的,再从右取count为-1
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('100-200-300-400','-',2),'-',-1);
截取结果:
200
4.如果指定的分隔符找不到则返回整个字符串
SELECT SUBSTRING_INDEX('100-200-300-400','-',5);
截取结果:
100-200-300-400
由于在字符串“100-200-300-400”中找不到第5个“-”,所以返回了整个字符串
分割字符串
方法:充分和循环利用函数 SUBSTRING_INDEX(str,delim,count)来实现分割字符串。
一、分割成多列
1.举列
将字符串 ‘John,Doe,25’ 分成三列
SELECT
SUBSTRING_INDEX('John,Doe,25',',',1)AS first_name,
SUBSTRING_INDEX(SUBSTRING_INDEX('John,Doe,25',',',2),',',-1)AS last_name,
SUBSTRING_INDEX('John,Doe,25',',',-1)AS age;
2.运用
表结构:
CREATETABLE`remark_test`(`remark`varchar(50)DEFAULTNULLCOMMENT'备注')ENGINE=InnoDBDEFAULTCHARSET=utf8mb4;
插入数据:
INSERTINTO`test`.`remark_test`(`remark`)VALUES('张三,男,38');INSERTINTO`test`.`remark_test`(`remark`)VALUES('李四,男,32');INSERTINTO`test`.`remark_test`(`remark`)VALUES('林青霞,女,66');INSERTINTO`test`.`remark_test`(`remark`)VALUES('张柏芝,女,45');INSERTINTO`test`.`remark_test`(`remark`)VALUES('刘德华,男,60');INSERTINTO`test`.`remark_test`(`remark`)VALUES('许晴,女,53');INSERTINTO`test`.`remark_test`(`remark`)VALUES('关芝玲,女,58');INSERTINTO`test`.`remark_test`(`remark`)VALUES('成龙,男,62');
分割成多列:
SELECT
remark AS'原文',
SUBSTRING_INDEX( remark,',',1)AS'姓名',
SUBSTRING_INDEX(SUBSTRING_INDEX( remark,',',2),',',-1)AS'性别',
SUBSTRING_INDEX( remark,',',-1)AS'年龄'FROM
remark_test;
分割结果:
二、分割成多行
需要借助一张序号从0开始且连续自增的表
CREATETABLE`auto_add_seq`(`id`int(11)DEFAULTNULLCOMMENT'自增序列字段')ENGINE=InnoDBDEFAULTCHARSET=utf8mb4 COMMENT='自增序列表';
插入连续自增的序号,序号的最大值根据分割行数确定,这里插入500行:
INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(0);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(1);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(2);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(3);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(4);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(5);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(6);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(7);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(8);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(9);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(10);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(11);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(12);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(13);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(14);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(15);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(16);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(17);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(18);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(19);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(20);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(21);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(22);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(23);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(24);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(25);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(26);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(27);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(28);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(29);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(30);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(31);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(32);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(33);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(34);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(35);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(36);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(37);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(38);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(39);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(40);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(41);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(42);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(43);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(44);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(45);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(46);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(47);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(48);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(49);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(50);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(51);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(52);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(53);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(54);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(55);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(56);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(57);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(58);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(59);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(60);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(61);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(62);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(63);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(64);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(65);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(66);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(67);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(68);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(69);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(70);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(71);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(72);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(73);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(74);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(75);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(76);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(77);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(78);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(79);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(80);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(81);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(82);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(83);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(84);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(85);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(86);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(87);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(88);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(89);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(90);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(91);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(92);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(93);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(94);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(95);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(96);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(97);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(98);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(99);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(100);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(101);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(102);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(103);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(104);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(105);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(106);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(107);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(108);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(109);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(110);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(111);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(112);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(113);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(114);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(115);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(116);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(117);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(118);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(119);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(120);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(121);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(122);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(123);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(124);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(125);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(126);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(127);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(128);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(129);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(130);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(131);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(132);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(133);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(134);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(135);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(136);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(137);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(138);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(139);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(140);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(141);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(142);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(143);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(144);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(145);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(146);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(147);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(148);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(149);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(150);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(151);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(152);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(153);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(154);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(155);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(156);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(157);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(158);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(159);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(160);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(161);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(162);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(163);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(164);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(165);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(166);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(167);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(168);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(169);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(170);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(171);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(172);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(173);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(174);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(175);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(176);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(177);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(178);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(179);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(180);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(181);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(182);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(183);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(184);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(185);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(186);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(187);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(188);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(189);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(190);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(191);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(192);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(193);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(194);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(195);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(196);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(197);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(198);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(199);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(200);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(201);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(202);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(203);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(204);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(205);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(206);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(207);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(208);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(209);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(210);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(211);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(212);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(213);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(214);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(215);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(216);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(217);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(218);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(219);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(220);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(221);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(222);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(223);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(224);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(225);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(226);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(227);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(228);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(229);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(230);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(231);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(232);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(233);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(234);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(235);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(236);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(237);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(238);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(239);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(240);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(241);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(242);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(243);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(244);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(245);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(246);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(247);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(248);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(249);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(250);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(251);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(252);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(253);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(254);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(255);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(256);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(257);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(258);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(259);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(260);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(261);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(262);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(263);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(264);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(265);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(266);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(267);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(268);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(269);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(270);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(271);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(272);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(273);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(274);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(275);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(276);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(277);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(278);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(279);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(280);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(281);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(282);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(283);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(284);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(285);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(286);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(287);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(288);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(289);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(290);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(291);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(292);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(293);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(294);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(295);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(296);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(297);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(298);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(299);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(300);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(301);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(302);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(303);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(304);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(305);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(306);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(307);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(308);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(309);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(310);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(311);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(312);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(313);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(314);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(315);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(316);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(317);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(318);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(319);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(320);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(321);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(322);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(323);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(324);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(325);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(326);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(327);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(328);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(329);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(330);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(331);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(332);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(333);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(334);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(335);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(336);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(337);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(338);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(339);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(340);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(341);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(342);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(343);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(344);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(345);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(346);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(347);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(348);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(349);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(350);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(351);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(352);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(353);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(354);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(355);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(356);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(357);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(358);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(359);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(360);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(361);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(362);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(363);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(364);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(365);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(366);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(367);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(368);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(369);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(370);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(371);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(372);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(373);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(374);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(375);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(376);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(377);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(378);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(379);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(380);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(381);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(382);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(383);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(384);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(385);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(386);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(387);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(388);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(389);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(390);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(391);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(392);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(393);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(394);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(395);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(396);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(397);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(398);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(399);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(400);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(401);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(402);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(403);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(404);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(405);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(406);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(407);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(408);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(409);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(410);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(411);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(412);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(413);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(414);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(415);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(416);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(417);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(418);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(419);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(420);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(421);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(422);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(423);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(424);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(425);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(426);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(427);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(428);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(429);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(430);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(431);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(432);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(433);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(434);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(435);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(436);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(437);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(438);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(439);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(440);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(441);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(442);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(443);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(444);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(445);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(446);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(447);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(448);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(449);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(450);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(451);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(452);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(453);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(454);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(455);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(456);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(457);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(458);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(459);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(460);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(461);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(462);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(463);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(464);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(465);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(466);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(467);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(468);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(469);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(470);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(471);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(472);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(473);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(474);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(475);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(476);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(477);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(478);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(479);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(480);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(481);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(482);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(483);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(484);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(485);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(486);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(487);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(488);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(489);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(490);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(491);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(492);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(493);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(494);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(495);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(496);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(497);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(498);INSERTINTO`test`.`auto_add_seq`(`id`)VALUES(499);
1.举例
将 字符串’1,2,3,4,5’分割成5行
SELECT
substring_index(substring_index('1,2,3,4,5',',',id +1),',',-1)AS new_id
FROM
auto_add_seq
WHERE
id <=(length('1,2,3,4,5')- length(REPLACE('1,2,3,4,5',',','')));
分割结果:
2.运用
表结构:
CREATETABLE`test_user`(`user_id`int(11)NOTNULLCOMMENT'用户id',`role_ids`varchar(100)DEFAULTNULLCOMMENT'逗号分隔的角色id集合',PRIMARYKEY(`user_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4;
插入数据:
INSERTINTO`test`.`test_user`(`user_id`,`role_ids`)VALUES(1,'1,3,5,6,8');INSERTINTO`test`.`test_user`(`user_id`,`role_ids`)VALUES(2,'1,3,7,6,8,20,15,22');INSERTINTO`test`.`test_user`(`user_id`,`role_ids`)VALUES(3,'6,8,20,15,22');
将用户id为2的角色id字符串分割多选角色id:
SELECT substring_index(substring_index(u.role_ids,',',s.id +1),',',-1)AS role_id
FROM test_user u CROSSJOIN auto_add_seq s ON s.id <= LENGTH(u.role_ids)- LENGTH(REPLACE(u.role_ids,',',''))WHERE u.user_id =2;
分割结果:
总结
right(str,length)和left(str,length)只截取指定字符串左或右边指定长度的子串,substring(str,pos,length)截取指定字符串位置开始指定长度的子串,substring_index(str,delim,count) 截取指定字符串在第count个分隔符左边或右边的子串,以上三个函数中 substring_index函数更新灵活,充分利用可以产生神奇的效果。
版权归原作者 消码哥 所有, 如有侵权,请联系我们删除。