日期:2014-05-17 浏览次数:20399 次
declare @i int,@temp int,@s varchar(100)
set @s='101010101010'
set @i=1
set @temp=0
while (@i<LEN(@s))
begin
if( SUBSTRING('101010101010',@i,1)='1')
begin
set @temp=@temp+1
end
set @i=@i+1
end
print @temp
declare @a varchar(255)
set @a='101010101010101010000000000000'
select len(@a)-LEN(REPLACE(@a,'1','')) as [1的的个数]
/*
1的的个数
---------------------
9
*/
给你写一个函数功能,任何情况下都可以用.
--创建函数
create function AccRepeat
(
@str varchar(50),
@sub varchar(50)
)
returns int
as
begin
declare @pos int,
@n int
select @n=0, @pos=charindex(@sub,@str) while(@pos<>0)
begin
select @str=right(@str,len(@str)-@pos),@pos=charindex(@sub,@str),@n=@n+1
end
return(@n)
end
go
--调用函数,你只需要传入两个参数就可以了
select dbo.AccRepeat('101010101010101010000000000000','1')