» 游客:  注册 | 登录 | 会员 | 统计 | 帮助
斑竹的菜园子
 

作者:
标题: 如何使用存储过程来计算一个字符串的长度 上一主题 | 下一主题
borneol
管理员




积分 10952
发贴 955
注册 2005-2-23
来自 重庆
状态 离线
#1  如何使用存储过程来计算一个字符串的长度

使用 UDF 来完成同样的功能,其实相当简单,但 UDF 也并不是万能的,它可能受到网络、平台等很多因素的影响,下面我来谈谈如何使用 InterBase 的存储来完成。

代码如下:

CREATE PROCEDURE StringLen
(
str VARCHAR(256)
)
RETURNS
(
len INTEGER
)
AS
DECLARE VARIABLE temppat VARCHAR(256);
BEGIN
len = NULL;
IF (str IS NULL) THEN EXIT;

temppat = '';
len = 0;
WHILE (NOT str LIKE temppat) DO
BEGIN
temppat = temppat || '_';
len = len + 1;
END
END


执行上列存储过程:
EXECUTE PROCEDURE STRINGLEN('Test this procedure')
返回结果:19



0200 1D 06 00 00 A0 86 01 00 FF FF 00 00 1E 06 00 00
         E-mail:webmaster@chenzhang.com
         MSN:borneol_net@hotmail.com
         Home page:www.chenzhang.com
0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2005-3-10 14:36
查看资料  发送邮件  访问主页  发短消息  QQ   编辑帖子  引用回复


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: