gpt4 book ai didi

如果列值中不存在分隔符,Mysql split_str 函数将返回空值

转载 作者:行者123 更新时间:2023-11-30 01:23:49 29 4
gpt4 key购买 nike

我正在使用以下用户定义的 mysql 函数,

CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
CHAR_LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');


`select split_str(‘1||john’,'||’,2);` - result "john".

但是如果列值没有分隔符字符串(||),则此函数不起作用

select split_str(‘john’,'||’,2); - required result john.

但我得到的是空值。有什么建议请提出来

最佳答案

尝试

CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN case when CHAR_LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) = CHAR_LENGTH(x) then x else (REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
CHAR_LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '')) end;

你可以在这里查看。 http://sqlfiddle.com/#!2/aab54/2

关于如果列值中不存在分隔符,Mysql split_str 函数将返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18228757/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com