【发布时间】:2010-12-17 02:18:41
【问题描述】:
我有问题,我需要将我的输入分解到我的存储过程中,但不知道该怎么做。
我的存储过程有一个 VARCHAR(256) 输入,我需要拆分并生成插入语句。
我要如何分解这个 varchar "1,2,3,7,8,9" 所以我需要在 "," 上拆分该字符串并遍历结果
【问题讨论】:
我有问题,我需要将我的输入分解到我的存储过程中,但不知道该怎么做。
我的存储过程有一个 VARCHAR(256) 输入,我需要拆分并生成插入语句。
我要如何分解这个 varchar "1,2,3,7,8,9" 所以我需要在 "," 上拆分该字符串并遍历结果
【问题讨论】:
是的,请参阅this forum thread,了解如何在 mysql 中复制 tsql 提供的功能。
该线程还讨论了此方法的一些缺点。另外,我认为您想使用 VARCHAR(255) 或仅使用 VARCHAR(MAX),因为 256 没有任何好处,它使用 2 字节大小的前缀,但仅存储 256 个字符。
您是否考虑过使用 xml 和 xpath 语法来提取值?我认为今后这将成为一种更具可读性和可维护性的方法。
【讨论】:
这是一个 split_string() 函数 http://forge.mysql.com/tools/tool.php?id=4
【讨论】: