SQL查询中的PHP Explode方法

时间:2014-04-22 07:25:06

标签: mysql sql

我这里有问题

有没有办法在sql查询中分解内容并在之后创建一个组? 实际上我想在sql查询中使用完全类似于php爆炸的函数,有没有办法做到这一点?

test{explode}test2{explode}test2{explode}test3{explode}test{explode}test

返回:

test  `count 3`

test2 `count 2`

test3 `count 1`

这是一个方形小说:http://sqlfiddle.com/#!2/b318d/1

1 个答案:

答案 0 :(得分:2)

您可以创建自己的函数,然后在查询中使用它

这是Federico Cargnelutti http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/

的一个例子
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(`field_name`, ',', 0) 
FROM TEST
GROUP BY SPLIT_STR(`field_name`, ',', 0)