如何在MySQL中使用select的输出作为输入?

时间:2015-06-15 12:13:23

标签: mysql function select

我想使用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;

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

首先,您不需要在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;