我想使用 MySQL 中的一个函数。该函数用于分割字符串,并根据分隔符获取字符串、分隔符以及我要输出的元素编号。
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('a:b', ':', 1);
它将输出“a”。
但是,为了使用以下 MySQL 命令的输出作为我的函数的输入字符串,我需要做什么?
select gene from enhancer limit 1;
非常感谢任何帮助!
最佳答案
首先,您不需要在 MySQL 中使用自己的分割字符串函数。函数 substring_index()
是内置的。
如果你想将列传递给字符串,你可以这样做:
select substring_index(gene, ':', 1)
from enhancer
limit 1;
获取第n个值:
select substring_index(substring_index(gene, ':', <n>), ':', -1)
from enhancer
limit 1;
关于mysql - 如何使用 select 的输出作为 MySQL 函数的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30844909/