首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

存储过程有关问题-在线求解

2012-08-10 
存储过程问题--在线求解SQL codeif exists(select * from sysobjects where typeFN and namegetSplit

存储过程问题--在线求解

SQL code
if exists(select * from sysobjects where type='FN' and name='getSplitNum')drop function getSplitNumgocreate function getSplitNum(@content text,@split varchar(10))returns intasbegin    declare @index int;set @index=1;    declare @num int;set @num=0;    declare @start int;set @start=0;    while @index>0    begin                set @index=charindex(@split,@content,@start);        set @start=@index+1;        set @num=@num+1;    end    return @num;endgo


dbo.getSplitNum(@c_url,'|||')

存储过程里,如上代码,计算某字符串里,有多少个由|||分开的字符串. 运行结果最大值只有87,请教老师,问题在哪?

---------------------------------------
问题基本查到.但不知道怎么解决.由于@c_url过长(长度达到13000字符以上),导致出现比实际值小很多.

请教各位老师

[解决办法]
你的字符串中是不是有中文字符?或者其他由非英文+数字组成的字符串?
把@content 定义为ntext看看。
[解决办法]
探讨

感觉问题出在 charindex 里,而不是text问题.

热点排行