MySQL Split 函数

Posted 学而不思则罔,思而不学则殆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL Split 函数相关的知识,希望对你有一定的参考价值。

本文地址:http://www.cnblogs.com/qiaoyihang/p/6270165.html

 

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   |
+-------+

 

以上是关于MySQL Split 函数的主要内容,如果未能解决你的问题,请参考以下文章

MySQL Split 函数

MySQL 拆分字符串函数 SPLIT_STR 不适用于 LEFT JOIN。有啥问题吗?

linux中怎么查看mysql数据库版本

mysql 创建 存储函数 split_string

转mysql用sql实现split函数

java Ftp上传创建多层文件的代码片段