Du kan bruge reverse
sammen med substring
og charindex
for at få det, du leder efter:
select
reverse(substring(reverse(filename), 1,
charindex('.', reverse(filename))-1)) as FileExt
from
mytable
Dette holder, selvom du har flere .
i din fil (f.eks.-hello.world.exe
vil returnere exe
).
Så jeg legede lidt med det her, og det er en anden måde (kun ét opkald til reverse
):
select
SUBSTRING(filename,
LEN(filename)-(CHARINDEX('.', reverse(filename))-2), 8000) as FileExt
from
mytable
Dette beregner 10.000.000 rækker på 25 sekunder mod 29 sekunder for den tidligere metode.