欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql分隔符转行

程序员文章站 2022-06-01 14:01:46
...

再看mysql 分隔符转行的,看到这篇文章,写的非常好,转载纪念一下。

原文地址:https://www.cnblogs.com/likaixin/p/11271756.html

help_topic表是数据库mysql下的一个表

  mysql分隔符转行

    SUBSTRING_INDEX(s, delimiter, number)    

     返回从字符串 s 的第 number 个出现的分隔符 delimiter 之后的子串。   

  1. 如果 number 是正数,返回第 number 个字符左边的字符串。
    SELECT SUBSTRING_INDEX('a*b*c*d*e','*',3);    ---- a*b*c
  2. 如果 number 是负数,返回第(number 的绝对值(从右边数))个字符右边的字符串。
    SELECT SUBSTRING_INDEX('a*b*c','*',-1);    ---- c
    SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('a*b*c*d*e','*',3),'*',-1);    ---- c

    示例: 

     mysql分隔符转行

select a.id, a.username, 
substring_index(substring_index(a.course, '|', b.help_topic_id + 1), '|', -1) course  
from student a JOIN mysql.help_topic b 
ON b.help_topic_id < (length(a.course) - length(REPLACE(a.course, '|', '')) + 1);

      mysql分隔符转行