SQL server Charindex方法在自定义方法里的使用,拿不到值

方法定义如下:IFOBJECT_ID(N'dbo.elicit')ISNOTNULLDROPFUNCTIONdbo.elicit;GOCREATEFUNCTIONdbo.... 方法定义如下:
IF OBJECT_ID (N'dbo.elicit') IS NOT NULL
DROP FUNCTION dbo.elicit;
GO
CREATE FUNCTION dbo.elicit(
@parameters varchar(400) = '',
@key varchar(20) = ''
) RETURNS varchar(30)WITH EXECUTE AS CALLER
AS
BEGIN
declare @strReturn varchar(30)
declare @vPos int
set @vPos = charindex(@key,@parameters);

set @strReturn = convert(varchar(5),@vPos)
return @strReturn

END
GO

select dbo.elicit('key1','key:value,key1:value1')
返回字符串的值总是0, 为什么?怎么改?
展开
 我来答
射手幽灵伊
2013-08-16 · TA获得超过2716个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1968万
展开全部
换成
select dbo.elicit('key:value,key1:value1','key1')
你看你的参数定义,长的在前,短的在后。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式