我想使用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;
非常感谢任何帮助!
答案 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;