请高手帮忙:db2中过滤半汉字字符?

windydenny 2007-05-30 03:46:26
我需要把字符串中的半汉字处理掉,产生原因是字符串用value方法被截取成了定长后,在最末尾可能出现半汉字的情况,现在我想过滤掉这些半字节数据;
我做了一个函数来处理,但是效率太低了,请高手帮忙解决一下,非常感谢.......
附函数方法:
CREATE FUNCTION HALF_CHARACTER(INSTR VARCHAR(300))
RETURNS VARCHAR(300)
DETERMINISTIC NO EXTERNAL ACTION CONTAINS SQL
BEGIN ATOMIC
DECLARE REVSTR VARCHAR(300) DEFAULT '';
DECLARE LEN INT;
DECLARE COUNTS INT DEFAULT 0;
DECLARE V_I INT DEFAULT 0;
IF INSTR IS NULL THEN
RETURN NULL;
END IF;
SET (REVSTR, LEN) = (INSTR, LENGTH(INSTR));
WHILE V_I < LEN+1 DO
SET V_I = V_I +1;
IF ASCII(CHAR(SUBSTR(REVSTR,V_I,1))) > 127 THEN SET COUNTS = COUNTS +1;
END IF;
END WHILE;
IF MOD(COUNTS,2)=1 THEN SET REVSTR = SUBSTR(REVSTR,1,LEN-1);
END IF;
RETURN REVSTR;
END
...全文
565 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
这个简单啊,网上搜一下就得到答案了.
catxl313 2007-07-04
  • 打赏
  • 举报
回复
设置数据库的codepage后,应该就能直接处理汉字了。
windydenny 2007-05-30
  • 打赏
  • 举报
回复
自己先上来up一下!!!

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧