आप reverse
. का उपयोग कर सकते हैं substring
. के साथ और charindex
आप जो खोज रहे हैं उसे पाने के लिए:
select
reverse(substring(reverse(filename), 1,
charindex('.', reverse(filename))-1)) as FileExt
from
mytable
यह बरकरार है, भले ही आपके पास एक से अधिक .
हों आपकी फ़ाइल में (उदा.-hello.world.exe
exe
लौटाएगा )।
तो मैं इसके साथ थोड़ा सा खेल रहा था, और यह एक और तरीका है (reverse
पर केवल एक कॉल ):
select
SUBSTRING(filename,
LEN(filename)-(CHARINDEX('.', reverse(filename))-2), 8000) as FileExt
from
mytable
यह पिछली विधि के लिए 25 सेकंड बनाम 29 सेकंड में 10,000,000 पंक्तियों की गणना करता है।