2012-09-20 80 views
0

可能重复:
Can Mysql Split a column?分割分隔字符串到变量在存储过程中

我将包括从我的Java代码过滤参数的逗号分隔字符串传递给我的mysql存储过程。这将由程序的IN参数之一提取。

我想将这个逗号分隔的字符串拆分为单独的变量并在不同的查询中使用它们。

在谷歌上搜索,我发现this MySQL substring function

但是有它的问题:

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); 
    -> 'www.mysql' 

但我想wwwmysqlcom对此有没有规定要得到1分串delimeter到下一个等...

回答

2

MySQL以及其他RDBMS不提供这种功能。

你在找什么是for this,一个全功能的分配器功能。

你想要的东西在SO上已经被问了好几次了。

Here,herehere你有同样的问题。

+0

正如Yaroslav所说,这是可能的,但是当分隔可能包含逗号的变量时,会遇到问题。 – Kermit

+0

@njk我不这么认为,如果你看看函数,它有2个参数,第二个是你想要使用的分隔符,它可以是任何东西,逗号,点,斜线。我还没有测试过是否可能是一些奇怪的角色,甚至超过一个角色。 – Yaroslav

+0

是的,有。看看[this](http://stackoverflow.com/questions/2182668/how-to-split-comma-separated-text-in-mysql-stored-procedure)和[this](http:// stackoverflow .COM /问题/ 9953114 /拆分逗号分隔字符串函数-DB-CHARINDEX - 不 - 不存在)。 – Kermit