MySql教程

mysql字符串分割函数(行转列)

本文主要是介绍mysql字符串分割函数(行转列),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

 

DELIMITER $$ 
CREATE DEFINER = `root`@`%` FUNCTION `str_for_substr`(`num` int, `str` varchar(5000))
  RETURNS varchar(100)
 BEGIN

 SET @str_for_substr =
   
  SUBSTRING(
         SUBSTRING_INDEX(str, ',', num + 1),
         CASE num
     WHEN 0 THEN
         CHAR_LENGTH(
             SUBSTRING_INDEX(str, ',', num)
         ) + 1
     ELSE
         CHAR_LENGTH(
             SUBSTRING_INDEX(str, ',', num)
         ) + 2
     END,
     CASE num
 WHEN 0 THEN
     CHAR_LENGTH(
         SUBSTRING_INDEX(str, ',', num + 1)
     ) - CHAR_LENGTH(
         SUBSTRING_INDEX(str, ',', num)
     )
 ELSE
     CHAR_LENGTH(
         SUBSTRING_INDEX(str, ',', num + 1)
     ) - CHAR_LENGTH(
         SUBSTRING_INDEX(str, ',', num)
     ) - 1
 END
 );
 
 
     RETURN @str_for_substr;
 END$$
DELIMITER ;

 

测试:

mysql> SELECT str_for_substr(3,'one,two,three,four,five,six,seven') as 'value';
+-------+
| value |
+-------+
| four |
+-------+
1 row in set

搜索

复制

<iframe></iframe>
这篇关于mysql字符串分割函数(行转列)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!