CREATE
PROCEDURE
my_getfirst
@str
varchar
(
100
),
@re
varchar
(
10
) OUTPUT
AS
begin
declare
@s1
as
varchar
(
100
)
declare
@s2
as
varchar
(
100
)
declare
@s3
as
varchar
(
100
)
set
@s1
=
left
(
@str
,
charindex
(
'
,
'
,
@str
)
-
1
)
set
@s2
=
substring
(
@str
,
charindex
(
'
,
'
,
@str
)
+
1
,
len
(
@str
))
set
@s3
=
left
(
@s2
,
charindex
(
'
,
'
,
@s2
)
-
1
)
while
charindex
(
'
,
'
+
@s3
+
'
,
'
,
'
,
'
+
@s1
+
'
,
'
)
=
0
begin
set
@s1
=
@s1
+
'
,
'
+
@s3
set
@s2
=
substring
(
@s2
,
charindex
(
'
,
'
,
@s2
)
+
1
,
len
(
@s2
))
set
@s3
=
left
(
@s2
,
charindex
(
'
,
'
,
@s2
)
-
1
)
end
set
@re
=
@s3
return
@re
end
go
declare
@re
as
varchar
(
10
)
exec
my_getfirst
'
558,561,559,561,559,558,561
'
,
@re
OUTPUT
select
@re
drop
proc
my_getfirst
/*
---------- 561 (所影响的行数为 1 行)
*/