目錄
- 前言
- 基本函數介紹
- 實戰
前言
reverse函數,是一個常用的字符串處理函數,很多編程語言都有。最近開發中,遇到一個reverse解決的需求,發現自己尚未總結過,遂補上。
基本函數介紹
SELECT reverse(string_column) FROM table_name;
舉例:
SELECT reverse('hello world');
結果為:
dlrow olleh
實戰
目前有三個字段,用戶id,用戶名稱,興趣ID組合,現在的需求是取每個用戶,興趣id組合中最后的一個;
具體實現:
with temp_test as
(select '1458963' as userid ,'小花' as user_name ,'[1,5,8]' as favsidunion all select '1258963' as userid ,'小明' as user_name ,'[3,7,9,10]' as favsid union all select '3245895' as userid ,'小翠' as user_name ,'[]' as favsid
)select
userid
,user_name
,reverse(split(favsid,'\\,')[0]) as favsid
from
(select
userid
,user_name
,regexp_replace(reverse(favsid),'\\[|\\]','') as favsid
from temp_test
) tt
結果如下:
userid | user_name | favsid |
---|---|---|
1458963 | 小花 | 8 |
1258963 | 小明 | 10 |
3245895 | 小翠 |