SQL SERVER函数出现问题,求救

sfwxw0456 2013-08-22 04:46:13
以下函数在编辑的时候总是提示在while那边出现问题,求救


set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER FUNCTION [dbo].[DeleteHZ]
(
-- Add the parameters for the function here
@cargoname varchar(512)
)
RETURNS varchar(150)
AS
begin
DECLARE @Result varchar(512)
declare @sno smallint
select @Result=''
select @sno=1
while(@sno<=datalength(@cargoname))
  begin
   if datalength(SUBSTRING(@cargoname,@sno, 1))=1
   set @Result=@Result+SUBSTRING(@cargoname,@sno, 1)
   set @sno=@sno+1
select @Result
  end
RETURN('')
end
GO
...全文
101 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy__Huang 2013-08-22
  • 打赏
  • 举报
回复
RETURN('') 改为 RETURN @Result 不知道你这个函数是干什么用的?
Shawn 2013-08-22
  • 打赏
  • 举报
回复
ALTER FUNCTION [dbo].[DeleteHZ]
(
	@cargoname varchar(512)
)
RETURNS varchar(150)  
AS
begin
	DECLARE @Result varchar(512) 
	declare @sno smallint 
	select @Result=''
	select @sno=1 
	while(@sno<=datalength(@cargoname))
	begin 
			if DATALENGTH(SUBSTRING(@cargoname,@sno, 1))=1 
			set @Result=@Result+SUBSTRING(@cargoname,@sno, 1) 
			set @sno=@sno+1 
			--select @Result		--这一行函数里不允许包含select语句
	end 
	RETURN @Result	--RETURN你的结果
end
GO

SELECT DBO.[DeleteHZ]('我们a')

--DATALENGTH: 返回字符串的字节长度
--LEN: 返回字符长度

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧