sql 函数

正确写法:
ALTER FUNCTION [dbo].[uf_GetContractPartyName] ( @ContractPartyID as uniqueidentifier ) RETURNS varchar(300) AS BEGIN DECLARE @Ret varchar(300) SELECT @Ret =PartyName FROM tbl_biz_ContractPartyInfo WHERE ContractPartyID = @ContractPartyID RETURN @Ret END

  

错误写法:
ALTER FUNCTION [dbo].[uf_GetContractPartyName] ( @ContractPartyID as uniqueidentifier ) RETURNS @Ret varchar(300) AS BEGIN --DECLARE @Ret varchar(300) SELECT @Ret =PartyName FROM tbl_biz_ContractPartyInfo WHERE ContractPartyID = @ContractPartyID RETURN --@Ret END

sql变量使用前必须declare,临时表使用前不需要declare

  

/******************************************************************************
**		Name: ufn_Split
**		Desc: 拆分字符串
**
**              
**		Return Values:
** 				
**		Parameters:	
**		Auth: 
**		Date:2008-10-24
*******************************************************************************/
ALTER function [dbo].[ufn_Split]
(
	@String varchar(max),				-- 要拆分的字符串
	@Key varchar(50)					-- 关键字
)
returns @sValues table(sIndex int identity(1,1), sValue varchar(max) )
as
begin
	-- 索引及当前值
	declare @KeyIndex int
	declare @CurrentValue varchar(500)

	set @string = RTrim(LTrim(@String))
	
	-- 拆分
	set @KeyIndex = charindex(@Key,@string)

	while @KeyIndex <> 0
	begin
		set @CurrentValue = substring(@String,1,@KeyIndex-1)

		insert into @sValues(sValue) values (@CurrentValue)

		set @String = substring(@String, @KeyIndex+1, len(@String)- @KeyIndex)

		set @KeyIndex = charindex(@Key, @String)
	end

	insert into @sValues(sValue) values (@String)

	-- 返回拆份结果
	return
end

sql变量使用前必须declare,临时表使用前不需要declare

  

转载于:https://www.cnblogs.com/liuqiyun/p/7609653.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值