MySQL 本身并没有 split() 函数,但是,我们实现类似功能的自定义函数是非常简单的

创建函数的语法

用户自定义函数是拓展MySQL 函数的一种方式,它用起来和MySQL 本身自带的函数没有什么区别

创建一个自定义函数的语法:

CREATE [AGGREGATE] FUNCTION function_name

RETURNS {STRING|INTEGER|REAL|DECIMAL}

split  函数

CREATE FUNCTION SPLIT_STR(

x VARCHAR(255),

delim VARCHAR(12),

pos INT

)

RETURNS VARCHAR(255)

RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),

LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),

delim, '');

用法:

SELECT SPLIT_STR(string, delimiter, position)

例子:

SELECT SPLIT_STR('a|bb|ccc|dd', '|', 3) as third;

+-------+

| third |

+-------+

| ccc |

+-------+

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐