2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La fonction inverse est une fonction de traitement de chaînes couramment utilisée et disponible dans de nombreux langages de programmation. Lors d'un développement récent, j'ai rencontré un besoin de résolution inverse. J'ai découvert que je ne l'avais pas encore résumé, alors je l'ai rattrapé.
SELECT reverse(string_column) FROM table_name;
Exemple:
SELECT reverse('hello world');
Le résultat est:
dlrow olleh
Il existe actuellement trois champs : ID d'utilisateur, nom d'utilisateur et combinaison d'ID d'intérêt. L'exigence actuelle est d'obtenir le dernier de chaque combinaison d'utilisateur et d'ID d'intérêt ;
Mise en œuvre:
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
Le résultat est le suivant :
ID de l'utilisateur | nom d'utilisateur | favside |
---|---|---|
1458963 | fleuron | 8 |
1258963 | Xiao Ming | 10 |
3245895 | Xiaocui |