Reputation: 37
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
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