mysql中截取指定字符前后的字符串

mysql中截取指定字符前后的字符串

  • 创建表,并插入数据
    • 使用SUBSTRING_INDEX()函数
    • 例子
      • 结果

创建表,并插入数据

CREATE TABLE `stringtest` (
  `str` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `test`.`stringtest` (`str`) VALUES ('[\"aa\",\"nn\",\"xx\"]');
INSERT INTO `test`.`stringtest` (`str`) VALUES ('[\"cdfd\",\"nn\",\"xx\"]');
str
[“aa”,“nn”,“xx”]
[“cdfd”,“nn”,“xx”]

使用SUBSTRING_INDEX()函数

substring_index(str,delim,count)

    str:要处理的字符串

    delim:分隔符

    count:分隔符计数 

例子

取出上述表中数组的第一个元素

-- SUBSTRING_INDEX(str,'"',2)取出从左往右第二个引号左边的字符串str
-- SUBSTRING_INDEX(str1,'"',-1)取出从右往左数第一个引号右边的字符串str_1
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(str,'"',2),'"',-1) as str_1 from stringtest;

结果

str_1
aa
cdfd

你可能感兴趣的:(遇到的问题,mysql,SUBSTRING_INDEX,SQL安分隔符切割字符串,字符串分割,sql字符串)