正则表达式-oracle提取汉字
2016-04-12 23:17
337 查看
a:
CREATE ORREPLACE
FUNCTION GET_STR_COL(STRIN
VARCHAR2)RETURN
VARCHAR2 IS
STR_CNT NUMBER;
STR_1 VARCHAR2(6);
STR_ASC NUMBER;
STR_GET VARCHAR2(4000);
BEGIN
SELECT LENGTH(STR)INTO STR_CNT
FROM DUAL;
WHILE STR_CNT>0LOOP
STR_1:=SUBSTR(STR,LENGTH(STR)-STR_CNT+1,1);
STR_CNT:=STR_CNT-1;
STR_ASC:=ASCII(STR_1);
IF STR_ASC>45216THEN
STR_GET:=STR_GET||STR_1;
END
IF;
END
LOOP;
RETURN STR_GET;
END;
B:学习下变量定义的方式
CREATE ORREPLACE
FUNCTION GETCUSTTEXT(CUSTNAMEVARCHAR2)
RETURN VARCHAR2
IS
RESULT
VARCHAR2(100);
TMP_CUSTNAME VARCHAR2(100);
COUNT_STR NUMBER;
I NUMBER
:= 1;
STR_ASCII NUMBER;
CURRENT_CHAR VARCHAR2(10);
BEGIN
SELECT LENGTH(CUSTNAME)INTO COUNT_STR
FROM DUAL;
WHILE I
< COUNT_STR LOOP
CURRENT_CHAR := SUBSTR(CUSTNAME, I,1);
SELECT ASCII(CURRENT_CHAR)INTO STR_ASCII
FROM DUAL;
IF STR_ASCII
> 45216 THEN
TMP_CUSTNAME := TMP_CUSTNAME|| CURRENT_CHAR;
END
IF;
I := I
+ 1;
END LOOP;
RESULT
:= TMP_CUSTNAME;
RETURN(RESULT);
END GETCUSTTEXT;
CREATE ORREPLACE
FUNCTION GET_STR_COL(STRIN
VARCHAR2)RETURN
VARCHAR2 IS
STR_CNT NUMBER;
STR_1 VARCHAR2(6);
STR_ASC NUMBER;
STR_GET VARCHAR2(4000);
BEGIN
SELECT LENGTH(STR)INTO STR_CNT
FROM DUAL;
WHILE STR_CNT>0LOOP
STR_1:=SUBSTR(STR,LENGTH(STR)-STR_CNT+1,1);
STR_CNT:=STR_CNT-1;
STR_ASC:=ASCII(STR_1);
IF STR_ASC>45216THEN
STR_GET:=STR_GET||STR_1;
END
IF;
END
LOOP;
RETURN STR_GET;
END;
B:学习下变量定义的方式
CREATE ORREPLACE
FUNCTION GETCUSTTEXT(CUSTNAMEVARCHAR2)
RETURN VARCHAR2
IS
RESULT
VARCHAR2(100);
TMP_CUSTNAME VARCHAR2(100);
COUNT_STR NUMBER;
I NUMBER
:= 1;
STR_ASCII NUMBER;
CURRENT_CHAR VARCHAR2(10);
BEGIN
SELECT LENGTH(CUSTNAME)INTO COUNT_STR
FROM DUAL;
WHILE I
< COUNT_STR LOOP
CURRENT_CHAR := SUBSTR(CUSTNAME, I,1);
SELECT ASCII(CURRENT_CHAR)INTO STR_ASCII
FROM DUAL;
IF STR_ASCII
> 45216 THEN
TMP_CUSTNAME := TMP_CUSTNAME|| CURRENT_CHAR;
END
IF;
I := I
+ 1;
END LOOP;
RESULT
:= TMP_CUSTNAME;
RETURN(RESULT);
END GETCUSTTEXT;
相关文章推荐
- oracle学习 第二章 限制性查询和数据的排序 ——01
- oracle压缩表空间
- oracle物理dg安装:方法二
- oracle表空间加密
- oracle 执行计划里的cost(%CPU)与consistent gets
- oracle使用细节
- Oracle之BBED之BBED的编译及简单设置(一)
- oracle控制台OEM无法启动
- Oracle学习笔记(十二)——oracle中事务处理
- Oracle学习笔记(十一)——在Oracle中操作数据
- Oracle学习笔记(十)——分页显示简单示例
- Oracle常见故障解析(1):表名加引号,调试参数加引号等
- Java中使用ibatis调用Oracle存储过程和函数
- Oracle定时任务
- Oracle学习笔记(九)——eclipse中tomcat的部署
- oracle数据的导入与导出
- PreparedStatement 的 execute方法和executeUpdate方法区别
- Oracle学习笔记(八)——java操作Oracle
- ORACLE高效SQL积累
- oracle_10g em登录提示:java.lang.Exception Exception in sending Request null