全角转半角函数(APP)
文章目录
- 环境
- 文档用途
- 详细信息
环境
系统平台:银河麒麟(飞腾)U系 V4
版本:4.5
文档用途
将全角字符数字等转换为半角。
详细信息
---全角转半角函数如下CREATE OR REPLACE FUNCTION convertstring(text)RETURNS text AS$$DECLARE len INTEGER;DECLARE retval text;DECLARE tmp text;DECLARE asciival INT4;BEGIN--字符串字符个数SELECT textlen($1) INTO len;SELECT '' INTO retval;--循环FOR i IN 1..len LOOP--取单个字符SELECT substring($1, i, 1) INTO tmp;SELECT ascii(tmp) INTO asciival;BEGIN--全角转半角IF (asciival = 12288) THEN --空格asciival = 32;END IF;IF (asciival > 65280) AND (asciival < 65375) THENSELECT asciival-65248 INTO asciival;END IF;END;SELECT chr(asciival) INTO tmp;SELECT textcat(retval, tmp) INTO retval;END LOOP;RETURN retval;END;$$LANGUAGE 'plpgsql'