浏览 1983 次
锁定老帖子 主题:转换 字符 全角半角
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-13
最后修改:2009-07-16
Oracle数据库: Select TO_MULTI_BYTE('AA') from dual; Select TO_SINGLE_BYTE ('AA') from dual; 其他数据库: CREATE OR REPLACE PROCEDURE p_fulltohalf(instr IN VARCHAR2, outstr OUT VARCHAR2) IS v_i INTEGER; BEGIN v_i := 1; outstr := ''; WHILE v_i <= length(instr) LOOP IF ascii(substr(instr, v_i, 1)) > 41856 AND ascii(substr(instr, v_i, 1)) < 41856 + 128 THEN outstr := outstr || chr(ascii(substr(instr, v_i, 1)) - 41856); ELSE outstr := outstr || substr(instr, v_i, 1); END IF; v_i := v_i + 1; END LOOP; END p_fulltohalf; --测试脚本 DECLARE str VARCHAR2(110); BEGIN p_fulltohalf('夺夺ddfdfwfew((dfdfdf0$2d#!@@sdf)9', str); dbms_output.put_line(str); END;
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |