declare @a varchar(20)
set @a = 'fda#abcd#af#'if len(@a) - len(replace(@a,'#','')) <2
print '没有两个#'
else
begin
select substring(@a,charindex('#',@a)+1,
charindex('#',right(@a,len(@a) - charindex('#',@a)))-1 )
end--------------------
abcd(所影响的行数为 1 行)
set @a = 'fda#abcd#af#'if len(@a) - len(replace(@a,'#','')) <2
print '没有两个#'
else
begin
select substring(@a,charindex('#',@a)+1,
charindex('#',right(@a,len(@a) - charindex('#',@a)))-1 )
end--------------------
abcd(所影响的行数为 1 行)
returns varchar(20)
as
begin
declare @b varchar(20)
if len(@a) - len(replace(@a,'#','')) <2
set @b = '****'
else
begin
select @b = substring(@a,charindex('#',@a)+1,
charindex('#',right(@a,len(@a) - charindex('#',@a)))-1 )
end
return @b
end
select dbo.test('a#abc#acde#ad'),dbo.test('ddafdsa#')
-------------------- --------------------
abc ****(所影响的行数为 1 行)