Compartir tecnología

función inversa en la colmena

2024-07-12

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

Prefacio

La función inversa es una función de procesamiento de cadenas de uso común que está disponible en muchos lenguajes de programación. Durante el desarrollo reciente, encontré una necesidad que debía resolverse a la inversa y descubrí que aún no la había resumido, así que lo compensé.

Introducción a las funciones básicas.

SELECT reverse(string_column) FROM table_name;
  • 1

Ejemplo:

SELECT reverse('hello world');
  • 1

El resultado es:
Dlrow olleh

combate real

Actualmente hay tres campos: ID de usuario, nombre de usuario y combinación de ID de interés. El requisito actual es obtener el último de cada combinación de ID de usuario y de interés;

Implementación:

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

El resultado es el siguiente:

ID de usuarionombre de usuariofavsid
1458963florete8
1258963Xiaoming10
3245895Xiao Cui