出于某种原因,以下mySQL函数只能为我提供12位
CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
SELECT SPLIT_STR(column, ",", **2**) from table
我有一个循环运行以自动递增此函数,因此我可以覆盖包含超过18个以逗号分隔的值的大字段。一旦我在此函数中的pos参数上击中13,我会收到一个截止的部分值。 13之后我收到空值。可能导致这种情况的任何想法?也许该行的某些设置会影响这个?
答案 0 :(得分:0)
看起来这是varchar的一个问题。我之前已将它们设置为255,但我发现我有包含360个字符的行,我将它们设置为1000并修复了问题。