Skip to content
Advertisement

Extract strings till the second delim SQL

I wanted to extract all the details till the second /(forward slash)from my table in SQL Server. Any ideas?

website
AA.AA/AB/123
www.google.com/en/abcd/
yahoo.com/us/dev
gmail.com

ouput
website
AA.AA/AB
www.google.com/en
yahoo.com/us
gmail.com

Advertisement

Answer

Perhaps this will suit your needs:

DECLARE @Table TABLE (Col1 NVARCHAR(100))
INSERT @Table VALUES
('website'),
('AA.AA/AB/123'),
('www.google.com/en/abcd/'),
('yahoo.com/us/dev'),
('gmail.com')



SELECT 
COALESCE(
    NULLIF(
        SUBSTRING(Col1,1,CHARINDEX('/',Col1,CHARINDEX('/',Col1)+1))
        ,'')
   ,Col1    
    ) AS Col1
FROM @Table
User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement