您好,匿名用户

Mysql: FIND_IN_SET 的反运算

0 投票

SELECT FIND_IN_SET('b','a,b,c,d');
可以得到2;

那mysql 有没有与其相反的方法,比如:SELECT XXX(2,'a,b,c,d'); 能得到b;

查了好几个,比如 MAKE_SET(); ELT();
都实现不了。

因为,ELT 后面的字符串是分割的,比如:
SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo'); =》 'ej'

但是我的mysql 数据中存的:a,b,c,d

用户头像 提问 2017年 5月18日 @ Lady 下士 (562 威望)
分享到:

1个回答

0 投票

SELECT reverse(substring_index( reverse(substring_index('a,b,c,d', ',', index)), ',', 1))
这个即可满足你的需求,更改index 得到对应的 a,b,c,d值。 当index2的时候 得到b。

传送门 substring_index reverse

用户头像 回复 2017年 5月18日 @ Tashigi 中士 (1,076 威望)
提一个问题:

相关问题

0 投票
1 回复 44 阅读
用户头像 提问 2019年 5月21日 @ Kayle 中士 (1,022 威望)
0 投票
1 回复 891 阅读
0 投票
1 回复 116 阅读
0 投票
1 回复 63 阅读
0 投票
1 回复 372 阅读
用户头像 提问 2017年 4月21日 @ Kyrie 下士 (775 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

IT技术交流群 - 随意问
欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...