help_topic表,以字符拆分,一行转多行

Posted 李开心(点击返回首页)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了help_topic表,以字符拆分,一行转多行相关的知识,希望对你有一定的参考价值。

  help_topic表是数据库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

    示例: 

     

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);

   

以上是关于help_topic表,以字符拆分,一行转多行的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 字符串拆分 OR 一行转多行

sql一行拆分多行记录

Mysql单行字段拆分多行

Hive一行拆多行、多行拼一行

MySQL利用SUBSTRING_INDEX()+ REPLACE()+mysql.help_topic实现字符串的分割(SQL实现一行数据转化为一列数据)

MySQL利用SUBSTRING_INDEX()+ REPLACE()+mysql.help_topic实现字符串的分割(SQL实现一行数据转化为一列数据)