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?
7 svar · 241 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'