Magesh K
Magesh K

Reputation: 37

Select a string between two known strings and output greater than one

I have to select in between | and length should be greater than one.

DECLARE @c varchar(100)

set @c = 'Leslie|Nicole|McCrory'

SELECT SUBSTRING(STUFF(@c, 1, CHARINDEX('|',@c), ''), 0, CHARINDEX('|', STUFF(@c, 1, CHARINDEX('|',@c), '')))

Result : Nicole

DECLARE @c varchar(100)

set @c = 'Leslie|N|McCrory'

SELECT SUBSTRING(STUFF(@c, 1, CHARINDEX('|',@c), ''), 0, CHARINDEX('|', STUFF(@c, 1, CHARINDEX('|',@c), '')))

Result : N

I need the result, which should be greater than one. (i.e) Leslie|N|McCrory => from this N should not be selected.

Upvotes: 0

Views: 67

Answers (1)

HoneyBadger
HoneyBadger

Reputation: 15140

Do you mean something like:

DECLARE @c varchar(100)

set @c = 'Leslie|N|McCrory'

SELECT SUBSTRING(STUFF(@c, 1, CHARINDEX('|',@c), ''), 0, CHARINDEX('|', STUFF(@c, 1, CHARINDEX('|',@c), '')))
WHERE LEN(SUBSTRING(STUFF(@c, 1, CHARINDEX('|',@c), ''), 0, CHARINDEX('|', STUFF(@c, 1, CHARINDEX('|',@c), '')))) > 1

Upvotes: 1

Related Questions