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

作者:
标题: 使用存储过程来完成删除字符串后面的空格 上一主题 | 下一主题
borneol
管理员




积分 10952
发贴 955
注册 2005-2-23
来自 重庆
状态 离线
#1  使用存储过程来完成删除字符串后面的空格

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

代码如下:

CREATE PROCEDURE TrimRight
(
T_STR VARCHAR(10)
)
RETURNS
(
TRIMRIGHT_STR VARCHAR(10)
)
AS
BEGIN
TRIMRIGHT_STR = T_STR;
IF (T_STR IS NULL) THEN
BEGIN
SUSPEND;
EXIT;
END
IF (T_STR = '') THEN
BEGIN
TRIMRIGHT_STR = '';
SUSPEND;
EXIT;
END
BEGIN
TRIMRIGHT_STR = CAST (T_STR AS char(9));
TRIMRIGHT_STR = CAST (T_STR AS char(8));
TRIMRIGHT_STR = CAST (T_STR AS char(7));
TRIMRIGHT_STR = CAST (T_STR AS char(6));
TRIMRIGHT_STR = CAST (T_STR AS char(5));
TRIMRIGHT_STR = CAST (T_STR AS char(4));
TRIMRIGHT_STR = CAST (T_STR AS char(3));
TRIMRIGHT_STR = CAST (T_STR AS char(2));
TRIMRIGHT_STR = CAST (T_STR AS char(1));
SUSPEND;
WHEN ANY DO SUSPEND;
END
END


执行下列代码:
EXECUTE PROCEDURE TRIMRIGHT('ABCDE ')
返回结果:ABCDE(后面空格已取消)。

注:如果您定义的字段不是很长,可以使用以上方法,但如果定义的字段很长,则只能使用UDF来完成。



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   编辑帖子  引用回复


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



论坛跳转: