【问题标题】:MySQL - explode/split input to stored procedureMySQL - 将输入分解/拆分到存储过程
【发布时间】:2010-12-17 02:18:41
【问题描述】:

我有问题,我需要将我的输入分解到我的存储过程中,但不知道该怎么做。

我的存储过程有一个 VARCHAR(256) 输入,我需要拆分并生成插入语句。

我要如何分解这个 varchar "1,2,3,7,8,9" 所以我需要在 "," 上拆分该字符串并遍历结果

【问题讨论】:

    标签: sql mysql explode


    【解决方案1】:

    是的,请参阅this forum thread,了解如何在 mysql 中复制 tsql 提供的功能。

    该线程还讨论了此方法的一些缺点。另外,我认为您想使用 VARCHAR(255) 或仅使用 VARCHAR(MAX),因为 256 没有任何好处,它使用 2 字节大小的前缀,但仅存储 256 个字符。

    您是否考虑过使用 xml 和 xpath 语法来提取值?我认为今后这将成为一种更具可读性和可维护性的方法。

    【讨论】:

      【解决方案2】:

      这是一个 split_string() 函数 http://forge.mysql.com/tools/tool.php?id=4

      【讨论】:

        【解决方案3】:
        猜你喜欢
        • 1970-01-01
        • 2013-09-05
        • 1970-01-01
        • 1970-01-01
        • 2014-08-21
        • 1970-01-01
        • 1970-01-01
        • 2015-07-28
        • 1970-01-01
        相关资源
        最近更新 更多