Berbagi teknologi

fungsi terbalik di sarang

2024-07-12

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

Kata pengantar

Fungsi kebalikannya adalah fungsi pemrosesan string yang umum digunakan dan tersedia dalam banyak bahasa pemrograman. Selama perkembangan terakhir, saya menemui kebutuhan untuk menyelesaikannya secara terbalik. Saya menemukan bahwa saya belum meringkasnya, jadi saya menebusnya.

Pengenalan fungsi dasar

SELECT reverse(string_column) FROM table_name;
  • 1

Contoh:

SELECT reverse('hello world');
  • 1

Hasilnya adalah:
dlrow ollah

Pertarungan sebenarnya

Saat ini terdapat tiga kolom, ID pengguna, nama pengguna, dan kombinasi ID minat. Persyaratan saat ini adalah mendapatkan yang terakhir dari setiap kombinasi pengguna dan ID minat;

Penerapan:

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

Hasilnya adalah sebagai berikut:

identitas penggunanama belakangfavorit
1458963bunga kecil8
1258963Xiao Ming10
3245895Xiaocui