mysql中字符串截取与拆分的实现示例
作者:肖码哥
引言
截取和拆分字符串在编程生涯中是普遍存在的,在sql中也不例外,下面就让我们来一起探索mysql中字符串的截取和拆分吧。
截取字符串
一、left(str,length)
从左边截取字符串,参数str:被截取的字符串,length:截取的长度
SELECT LEFT('中华人民共和国从此站起来了',7);
截取结果:
二、right(str,length)
从右边截取字符串,参数str:被截取的字符串,length:截取的长度
SELECT RIGHT('中华人民共和国从此站起来了',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.运用表结构:
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;
分割结果:
二、分割成多行
需要借助一张序号从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', ',', '')));
分割结果:
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;
分割结果:
总结
right(str,length)和left(str,length)只截取指定字符串左或右边指定长度的子串,substring(str,pos,length)截取指定字符串位置开始指定长度的子串,substring_index(str,delim,count) 截取指定字符串在第count个分隔符左边或右边的子串,以上三个函数中 substring_index函数更新灵活,充分利用可以产生神奇的效果。
到此这篇关于mysql中字符串截取与拆分的实现示例的文章就介绍到这了,更多相关mysql 字符串截取与拆分内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!