将分隔字符串拆分为存储过程中的变量[重复]
Posted
技术标签:
【中文标题】将分隔字符串拆分为存储过程中的变量[重复]【英文标题】:Split a delimited string into variables in stored procedure [duplicate] 【发布时间】:2012-09-20 13:25:44 【问题描述】:可能重复:Can mysql Split a column?
我将从我的 java 代码中将一个由过滤器参数组成的逗号分隔字符串传递给我的mysql
存储过程。这将由过程的IN
参数之一获取。
我想将此逗号分隔的字符串拆分为单独的变量,并在不同的查询中使用它们。
在谷歌上我发现this MySQL substring function
但是有一个问题:
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
但我想要www
,mysql
,com
没有规定将子字符串从第一个分隔符获取到下一个分隔符,依此类推...
【问题讨论】:
【参考方案1】:MySQL 以及其他 RDBMS 不提供此类功能。
你要找的是for this,一个功能齐全的分离器功能。
在 SO 上已多次询问您想要什么。
Here、here 和 here 你有同样的问题。
【讨论】:
正如 Yaroslav 所说,这是可能的,但是在分隔可能包含逗号的变量时会遇到问题。 @njk 我不这么认为,如果你看一下函数,它有2个参数,第二个是你要使用的分隔符,可以是任何东西,逗号,点,斜线。我还没有测试过是否也可以是一些奇怪的字符,甚至超过 1 个字符。 是的,有。看看this 和this。以上是关于将分隔字符串拆分为存储过程中的变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章