技術共有

巣箱の逆機能

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

序文

reverse 関数は、多くのプログラミング言語で利用できる一般的に使用される文字列処理関数です。最近の開発中に、リバースで解決する必要があることに遭遇しました。まだまとめていないことがわかったので、補足しました。

基本機能の紹介

SELECT reverse(string_column) FROM table_name;
  • 1

例:

SELECT reverse('hello world');
  • 1

結果は次のとおりです。
ダウンローオレ

実戦

現在、ユーザー ID、ユーザー名、および関心 ID の組み合わせの 3 つのフィールドがあり、現在の要件は、各ユーザーと関心 ID の組み合わせの最後のものを取得することです。

実装:

with temp_test as 
(
    select '1458963' as userid ,'小花'  as  user_name ,'[1,5,8]' as favsid
    union 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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

結果は次のとおりです。

ユーザーIDユーザー名お気に入り
1458963小花8
1258963シャオ・ミン10
3245895シャオクイ