在使用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 )