MySQL中的索引是否有FIND_IN_SET?

bfa*_*tto 3 mysql sql string

我知道将列表存储为字符串并不明智,但我必须处理它以导出一些存储的数据.我也知道FIND_IN_SET函数,它返回列表中某个字符串的索引:

SELECT FIND_IN_SET('bar', 'foo,bar,baz');
-- selects 2
Run Code Online (Sandbox Code Playgroud)

是否有任何内置函数(或函数组合)来获取列表的特定索引中的字符串?我正在寻找这样的东西:

SELECT IN_SET_AT_INDEX(2, 'foo,bar,baz');
-- selects 'bar'
Run Code Online (Sandbox Code Playgroud)

我想避免像分裂一样的函数,如果可能的话,使列表成为一个单独的表.

Bil*_*win 8

SUBSTRING_INDEX() 可以做到这一点,有点:

mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('foo,bar,baz', ',', 2), ',', -1) AS middle_one;
+------------+
| middle_one |
+------------+
| bar        |
+------------+
Run Code Online (Sandbox Code Playgroud)