alter function getpassword(@a varchar(100))
returns varchar(100)
begin
declare @i smallint,@password varchar(100)
set @i=0
set @password= ' '
while (@i <=len(@a))
begin
set @[email protected]+1
set @[email protected]+char(ascii(substring(@a,@i,1))+1)
end
return @password
end
--测试
select dbo.getpassword( 'abcd ')
----------------------------------------------------------------
NULL
(所影响的行数为 1 行)
------解决方案--------------------
alter function getpassword(@a varchar(100))
returns varchar(100)
begin
declare @i smallint,@password varchar(100)
set @i=0
set @password= ' '
while (@i <=len(@a))
begin
set @[email protected]+char(ascii(substring(@a,@i,1))+1)
set @[email protected]+1 --这里换一下就可以了
end
return @password
end
------解决方案--------------------
while (@i <=len(@a))改为while (@i <=len(@a)-1)
------解决方案--------------------
--alter function getpassword(@a varchar(100))
--returns varchar(100)
--begin
declare @a varchar(100)
declare @i smallint,@password varchar(100)
set @a= 'password '
set @i=0
set @password= ' '
while (@i <=len(@a))
begin
set @[email protected]+1
set @[email protected]+char(ascii(substring(@a,@i,1))+1)
print @@password
end
--return @password
--end
這樣看啊