日期:2014-05-18 浏览次数:20579 次
use test
go
create function test_num(@s nvarchar(50))
returns int
as
begin
declare @s1 nvarchar(10)
while patindex('%[0-9]%',@s)>0
select @s1=isnull(@s1,'')+substring(@s,patindex('%[0-9]%',@s),1),
@s=stuff(@s,1,patindex('%[0-9]%',@s),'')
return isnull(@s1,0)
end
go
select dbo.test_num('12abc'), dbo.test_num('abc')
----------- -----------
12 0
(所影响的行数为 1 行)