Compartilhamento de tecnologia

função reversa na colmeia

2024-07-12

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

Prefácio

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.

Introdução às funções básicas

SELECT reverse(string_column) FROM table_name;
  • 1

Exemplo:

SELECT reverse('hello world');
  • 1

O resultado é:
dlrow olleh

Combate real

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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

O resultado é o seguinte:

ID do usuárionome de usuáriofavorito
1458963florzinha8
1258963Xiao Ming10
3245895Xiao Cui