Hey!
Jag ska köra en join på två tabeller.
Men i den ena så står det tex "U88" och i den andra står det "88".
Hur gör jag för att få bort "U":et?
7 svar · 223 visningar · startad av skyman
Hey!
Jag ska köra en join på två tabeller.
Men i den ena så står det tex "U88" och i den andra står det "88".
Hur gör jag för att få bort "U":et?
select * from skyman join solman on
skyman.c1 = substring(solman.c1 from 2)
Det blir inte bra prestanda. Kan du inte lagra U i en annan kolumn?
Jag glömde en sak.
Det kommer se ut som :"U88P12" och jag vill bara ha ut "88"...
Skit i prestandan ;)
Sånt är lite krångligare.
Hur kan det se ut?
Det kanske går med regexp.
Det skall vara ett "U" och sedan ett x antal siffror och sedan ett "P" och ett y antal siffror.
Då borde något liknande detta fungera
select * from skyman join solman on
skyman.c1 = substring(solman.c1 from 2 for char_length(skyman.c1))
Tack för hjälpen, jag ska försöka få ihop det och se om det funkar. :)
Jag kom på ett fall som blir fel med min lösning
T.ex. om du har 88 och U888P12 så kommer de att matchas med mitt förslag
select * from skyman join solman on
skyman.c1 = substring(solman.c1 from 2 for char_length(skyman.c1))
and substring(solman.c1 from 1 + char_lengthskyman.c1 for 1) = 'P'