minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
A função reversa é uma função de processamento de string comumente usada e disponível em muitas linguagens de programação. Durante o desenvolvimento recente, encontrei uma necessidade de ser resolvido ao contrário. Descobri que ainda não havia resumido, então compensei.
SELECT reverse(string_column) FROM table_name;
Exemplo:
SELECT reverse('hello world');
O resultado é:
dlrow olleh
Atualmente existem três campos, ID de usuário, nome de usuário e combinação de ID de interesse. O requisito atual é obter o último de cada combinação de usuário e ID de interesse;
Implementação:
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
O resultado é o seguinte:
ID do usuário | nome de usuário | favorito |
---|---|---|
1458963 | florzinha | 8 |
1258963 | Xiao Ming | 10 |
3245895 | Xiao Cui |