相关推荐recommended
mysql中字符串截取与拆分
作者:mmseoamin日期:2024-02-03

按分隔符把字符串拆成多行

  • 引言
  • 截取字符串
    • 一、left(str,length)
    • 二、right(str,length)
    • 三、截取特定长度的字符串
    • 四、按分隔符截取
    • 分割字符串
      • 一、分割成多列
      • 二、分割成多行
      • 总结

        引言

        截取和拆分字符串在编程生涯中是普遍存在的,在sql中也不例外,下面就让我们来一起探索mysql中字符串的截取和拆分吧。

        截取字符串

        一、left(str,length)

        从左边截取字符串,参数str:被截取的字符串,length:截取的长度

        SELECT LEFT('中华人民共和国从此站起来了',7);
        

        截取结果:

        mysql中字符串截取与拆分,在这里插入图片描述,第1张

        二、right(str,length)

        从右边截取字符串,参数str:被截取的字符串,length:截取的长度

        SELECT RIGHT('中华人民共和国从此站起来了',6);
        

        截取结果:

        mysql中字符串截取与拆分,在这里插入图片描述,第2张

        三、截取特定长度的字符串

        有两种用法: 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.运用

        表结构:

        CREATE TABLE `remark_test` (
          `remark` varchar(50) DEFAULT NULL COMMENT '备注'
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
        

        插入数据:

        INSERT INTO `test`.`remark_test` (`remark`) VALUES ('张三,男,38');
        INSERT INTO `test`.`remark_test` (`remark`) VALUES ('李四,男,32');
        INSERT INTO `test`.`remark_test` (`remark`) VALUES ('林青霞,女,66');
        INSERT INTO `test`.`remark_test` (`remark`) VALUES ('张柏芝,女,45');
        INSERT INTO `test`.`remark_test` (`remark`) VALUES ('刘德华,男,60');
        INSERT INTO `test`.`remark_test` (`remark`) VALUES ('许晴,女,53');
        INSERT INTO `test`.`remark_test` (`remark`) VALUES ('关芝玲,女,58');
        INSERT INTO `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;
        

        分割结果:

        mysql中字符串截取与拆分,在这里插入图片描述,第3张

        二、分割成多行

        需要借助一张序号从0开始且连续自增的表

        CREATE TABLE `auto_add_seq` (
          `id` int(11) DEFAULT NULL COMMENT '自增序列字段'
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自增序列表';
        

        插入连续自增的序号,序号的最大值根据分割行数确定,这里插入500行:

        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (0);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (1);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (2);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (3);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (4);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (5);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (6);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (7);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (8);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (9);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (10);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (11);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (12);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (13);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (14);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (15);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (16);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (17);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (18);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (19);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (20);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (21);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (22);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (23);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (24);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (25);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (26);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (27);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (28);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (29);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (30);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (31);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (32);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (33);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (34);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (35);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (36);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (37);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (38);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (39);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (40);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (41);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (42);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (43);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (44);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (45);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (46);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (47);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (48);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (49);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (50);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (51);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (52);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (53);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (54);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (55);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (56);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (57);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (58);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (59);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (60);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (61);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (62);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (63);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (64);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (65);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (66);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (67);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (68);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (69);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (70);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (71);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (72);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (73);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (74);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (75);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (76);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (77);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (78);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (79);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (80);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (81);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (82);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (83);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (84);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (85);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (86);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (87);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (88);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (89);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (90);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (91);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (92);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (93);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (94);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (95);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (96);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (97);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (98);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (99);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (100);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (101);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (102);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (103);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (104);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (105);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (106);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (107);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (108);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (109);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (110);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (111);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (112);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (113);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (114);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (115);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (116);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (117);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (118);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (119);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (120);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (121);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (122);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (123);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (124);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (125);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (126);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (127);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (128);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (129);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (130);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (131);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (132);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (133);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (134);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (135);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (136);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (137);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (138);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (139);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (140);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (141);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (142);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (143);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (144);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (145);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (146);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (147);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (148);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (149);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (150);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (151);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (152);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (153);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (154);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (155);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (156);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (157);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (158);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (159);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (160);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (161);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (162);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (163);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (164);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (165);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (166);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (167);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (168);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (169);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (170);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (171);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (172);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (173);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (174);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (175);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (176);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (177);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (178);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (179);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (180);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (181);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (182);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (183);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (184);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (185);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (186);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (187);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (188);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (189);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (190);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (191);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (192);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (193);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (194);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (195);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (196);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (197);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (198);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (199);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (200);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (201);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (202);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (203);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (204);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (205);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (206);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (207);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (208);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (209);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (210);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (211);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (212);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (213);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (214);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (215);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (216);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (217);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (218);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (219);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (220);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (221);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (222);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (223);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (224);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (225);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (226);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (227);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (228);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (229);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (230);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (231);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (232);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (233);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (234);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (235);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (236);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (237);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (238);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (239);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (240);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (241);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (242);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (243);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (244);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (245);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (246);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (247);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (248);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (249);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (250);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (251);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (252);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (253);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (254);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (255);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (256);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (257);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (258);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (259);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (260);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (261);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (262);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (263);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (264);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (265);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (266);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (267);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (268);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (269);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (270);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (271);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (272);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (273);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (274);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (275);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (276);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (277);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (278);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (279);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (280);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (281);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (282);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (283);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (284);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (285);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (286);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (287);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (288);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (289);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (290);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (291);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (292);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (293);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (294);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (295);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (296);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (297);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (298);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (299);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (300);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (301);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (302);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (303);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (304);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (305);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (306);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (307);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (308);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (309);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (310);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (311);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (312);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (313);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (314);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (315);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (316);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (317);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (318);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (319);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (320);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (321);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (322);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (323);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (324);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (325);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (326);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (327);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (328);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (329);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (330);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (331);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (332);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (333);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (334);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (335);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (336);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (337);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (338);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (339);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (340);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (341);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (342);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (343);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (344);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (345);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (346);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (347);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (348);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (349);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (350);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (351);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (352);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (353);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (354);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (355);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (356);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (357);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (358);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (359);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (360);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (361);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (362);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (363);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (364);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (365);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (366);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (367);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (368);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (369);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (370);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (371);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (372);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (373);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (374);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (375);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (376);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (377);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (378);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (379);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (380);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (381);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (382);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (383);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (384);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (385);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (386);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (387);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (388);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (389);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (390);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (391);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (392);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (393);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (394);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (395);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (396);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (397);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (398);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (399);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (400);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (401);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (402);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (403);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (404);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (405);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (406);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (407);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (408);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (409);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (410);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (411);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (412);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (413);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (414);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (415);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (416);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (417);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (418);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (419);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (420);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (421);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (422);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (423);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (424);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (425);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (426);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (427);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (428);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (429);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (430);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (431);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (432);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (433);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (434);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (435);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (436);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (437);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (438);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (439);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (440);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (441);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (442);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (443);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (444);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (445);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (446);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (447);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (448);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (449);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (450);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (451);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (452);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (453);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (454);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (455);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (456);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (457);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (458);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (459);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (460);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (461);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (462);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (463);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (464);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (465);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (466);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (467);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (468);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (469);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (470);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (471);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (472);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (473);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (474);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (475);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (476);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (477);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (478);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (479);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (480);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (481);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (482);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (483);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (484);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (485);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (486);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (487);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (488);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (489);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (490);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (491);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (492);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (493);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (494);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (495);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (496);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (497);
        INSERT INTO `test`.`auto_add_seq` (`id`) VALUES (498);
        INSERT INTO `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', ',', '')));
        

        分割结果:

        mysql中字符串截取与拆分,在这里插入图片描述,第4张

        2.运用

        表结构:

        CREATE TABLE `test_user` (
          `user_id` int(11) NOT NULL COMMENT '用户id',
          `role_ids` varchar(100) DEFAULT NULL COMMENT '逗号分隔的角色id集合',
          PRIMARY KEY (`user_id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
        

        插入数据:

        INSERT INTO `test`.`test_user` (`user_id`, `role_ids`) VALUES (1, '1,3,5,6,8');
        INSERT INTO `test`.`test_user` (`user_id`, `role_ids`) VALUES (2, '1,3,7,6,8,20,15,22');
        INSERT INTO `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 CROSS JOIN auto_add_seq s ON s.id <= LENGTH(u.role_ids) - LENGTH(REPLACE(u.role_ids,',',''))
        WHERE u.user_id = 2;
        

        分割结果:

        mysql中字符串截取与拆分,在这里插入图片描述,第5张

        总结

        right(str,length)和left(str,length)只截取指定字符串左或右边指定长度的子串,substring(str,pos,length)截取指定字符串位置开始指定长度的子串,substring_index(str,delim,count) 截取指定字符串在第count个分隔符左边或右边的子串,以上三个函数中 substring_index函数更新灵活,充分利用可以产生神奇的效果。