Teknologian jakaminen

käänteinen toiminto pesässä

2024-07-12

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

Esipuhe

Käänteinen toiminto on yleisesti käytetty merkkijonojen käsittelytoiminto, joka on saatavilla monilla ohjelmointikielillä. Viimeaikaisen kehityksen aikana törmäsin tarpeeseen ratkaista käänteisellä tavalla, ja huomasin, että en ollut vielä tehnyt yhteenvetoa, joten korjasin sen.

Johdatus perustoimintoihin

SELECT reverse(string_column) FROM table_name;
  • 1

Esimerkki:

SELECT reverse('hello world');
  • 1

Tulos on:
dlrow olleh

Varsinainen taistelu

Tällä hetkellä on kolme kenttää, käyttäjätunnus, käyttäjätunnus ja kiinnostuksen kohteiden tunnuksen yhdistelmä.

Toteutus:

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

Tulos on seuraava:

käyttäjätunnuskäyttäjän_nimifavsid
1458963kukka8
1258963Xiao Ming10
3245895Xiaocui