选择两个已知字符串之间的字符串并输出大于一的字符串

时间:2015-12-28 06:40:18

标签: sql sql-server

我必须在|之间选择,长度应该大于一。

DECLARE @c varchar(100)

set @c = 'Leslie|Nicole|McCrory'

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

结果:妮可

DECLARE @c varchar(100)

set @c = 'Leslie|N|McCrory'

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

结果:N

我需要的结果应该大于1。 (即)Leslie | N | McCrory =>从这个N不应该被选中。

1 个答案:

答案 0 :(得分:1)

你的意思是:

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