在使用sql模拟一段java逻辑开发时碰到有一段逻辑为从字符串数组中根据下标获取对应的值的情况,百度了一番没有发现有类似功能的函数和现成的实现方式,经过调试弄出来了,记录下来,以备参考
1 //举例:从数组中取第4个值 2 //说明:1、注意下标从1开始的,和java下标不一样,实际情况下根据需要调整 3 // 2、逻辑为,SUBSTRING_INDEX方法先取位置0到第4个逗号之前的字符串,再翻转字符串后取第一个逗号前的字符串 4 select 5 REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(array,',',4)),',',1)) 6 from ( 7 select '1,2,3,4,5,6,7' as array 8 )