Technologieaustausch

Umkehrfunktion im Bienenstock

2024-07-12

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

Vorwort

Die Umkehrfunktion ist eine häufig verwendete String-Verarbeitungsfunktion, die in vielen Programmiersprachen verfügbar ist. Während der letzten Entwicklung stieß ich auf die Notwendigkeit, die Lösung rückwärts zu finden. Ich stellte fest, dass ich es noch nicht zusammengefasst hatte, also habe ich es nachgeholt.

Einführung in Grundfunktionen

SELECT reverse(string_column) FROM table_name;
  • 1

Beispiel:

SELECT reverse('hello world');
  • 1

Das Ergebnis ist:
dlrow olleh

Tatsächlicher Kampf

Derzeit gibt es drei Felder: Benutzer-ID, Benutzername und Interessen-ID-Kombination. Die aktuelle Anforderung besteht darin, das letzte Feld jeder Benutzer- und Interessen-ID-Kombination abzurufen.

Implementierung:

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

Das Ergebnis ist wie folgt:

Benutzer-IDNutzernameAbonnieren
1458963Blümchen8
1258963Xiao Ming10
3245895Xiaocui