【问题标题】: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 没有规定将子字符串从第一个分隔符获取到下一个分隔符,依此类推...

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    MySQL 以及其他 RDBMS 不提供此类功能。

    你要找的是for this,一个功能齐全的分离器功能。

    在 SO 上已多次询问您想要什么。

    Hereherehere 你有同样的问题。

    【讨论】:

    • 正如 Yaroslav 所说,这是可能的,但是在分隔可能包含逗号的变量时会遇到问题。
    • @njk 我不这么认为,如果你看一下函数,它有2个参数,第二个是你要使用的分隔符,可以是任何东西,逗号,点,斜线。我还没有测试过是否也可以是一些奇怪的字符,甚至超过 1 个字符。
    • 是的,有。看看thisthis
    猜你喜欢
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 2011-04-29
    • 2011-12-24
    • 2021-05-12
    • 1970-01-01
    相关资源
    最近更新 更多