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.