oracle 函数 if 判断,oracle 判断中文函数
create or replace function func_chinese
(
p_str in varchar2, -- 输入的字符串
p_code in varchar2, -- dump(字符串)
p_chinese in pls_integer -- 1, 提取汉字, 非1, 提取非汉字
) return varchar2
as
v_code varchar2(32767) := substr(p_code,instr(p_code,‘:‘)+2);
v_chinese varchar2(32767) := ‘‘;
v_non_chinese varchar2(32767) := ‘‘;
v_comma pls_integer;
v_code_h pls_integer;
v_code_l pls_integer;
begin
if p_str is not null then
for i in 1..length(p_str) loop
if lengthb(substr(p_str,i,1))=2 then
v_comma := instr(v_code,‘,‘);
v_code_h := to_number(substr(v_code,1,v_comma-1));
v_code_l := to_number(substr(v_code,v_comma+1,abs(instr(v_code,‘,‘,1,2)-v_comma-1)));
if (v_code_h>=176 and v_code_h<=247 and v_code_l>=161 and v_code_l<=254) or
(v_code_h>=129 and v_code_h<=160 and v_code_l>=64 and v_code_l<=254 and nvl(v_code_l,127)!=127) or
(v_code_h>=170 and v_code_h<=254 and v_code_l>=64 and v_code_l<=160 and nvl(v_code_l,127)!=127) then
v_chinese := v_chinese||substr(p_str,i,1);
else
v_non_chinese := v_non_chinese||substr(p_str,i,1);
end if;
v_code := ltrim(v_code,‘1234567890‘);
v_code := ltrim(v_code,‘,‘);
else
v_non_chinese := v_non_chinese||substr(p_str,i,1);
end if;
v_code := ltrim(v_code,‘1234567890‘);
v_code := ltrim(v_code,‘,‘);
end loop;
if p_chinese = 1 then
return v_chinese;
else
return v_non_chinese;
end if;
else
return ‘‘;
end if;
end;
/
SQL> select * from t;
NAME
----------------------
新年快乐X
狿X
狿
199
春天会来的
-----------------------
实验1: 提取汉字
-----------------------
select name,func_chinese(name,dump(name),1) result from t;
NAME RESULT
------------------------------ -----------
新年快乐X 新年快乐
狿X 狿
狿 狿
199
春天会来的 春天会来的
-----------------------
实验2: 提取非汉字
-----------------------
select name,func_chinese(name,dump(name),0) result from t;
NAME RESULT
------------------------------ -------
新年快乐X X
狿X X
狿
199 199
春天会来的
-----------------------
原文:http://www.cnblogs.com/tippoint/p/3844738.html
oracle 函数 if 判断,oracle 判断中文函数相关推荐
- iphone计算机能算度分秒吗,App Store 上的“iFxCalc:最人性化的函数计算器,支持自定义中文函数”...
让iFxCalc称为您的标配计算器,中国区永久1元享受完整版,不再收取任何内购费用! iFxCal是一款非常精巧的计算器,能极大提高计算的效率.它采用表达式的输入方式,并且可以直接输入度分秒和进行度分 ...
- oracle中文转换为unicode,oracle 用函数unistr将Oracle数据库中的Unicode转换为中文
用函数unistr将Oracle数据库中的Unicode转换为中文 1:保留连续的中文 select regexp_substr('Hello,大家好!greeting', '[' || unistr ...
- 【函数】Oracle函数系列(2)--数学函数及日期函数
[函数]Oracle函数系列(2)--数学函数及日期函数 [函数]Oracle函数系列(2)--数学函数及日期函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者, ...
- Oracle数据库(一):安装函数查询条件查询
文章目录 1.课程总介绍 Oracle由来&埃里森的身世 为什么学习Oracle 2.Oracle安装与配置 3.正式学习部分 Oracle体系结构 Oracle和MYSQL的差别 SQL的简 ...
- oracle自定义函数获取省份,oracle 自定义函数 方法 基本例子
核心提示:函数用于返回特定数据.执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1 [mode1] da ...
- oracle取第一位,Oracle中的substr()函数和INSTR()函数
1)substr函数格式 (俗称:字符截取函数) 格式1: substr(string string,int a,int b); 格式2:substr(string string,int a) ; ...
- oracle中常用关键字,oracle常用函数及关键字笔记
--函数及关键字-- 1.trim,ltrim,rtrim 去除字符,无指定默认去除空格 SELECT TRIM('a' FROM 'aafhfhaaaaaaaa'), LTRIM('aafhfhaa ...
- mysql的decode函数_Mysql实现oracle decode()函数
今天业务上有个需求,mysql按组group_by获取数据,但过滤掉组中某字段包含某值的那些组(如status=1) 数据描述需求 字段 id name status 1 aaa 0 2 ...
- oracle函数isnull,SQL中的ISNULL函数使用介绍
ISNULL 使用指定的替换值替换 NULL. 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是 ...
- Oracle中模拟SQL中的isnull函数
程序从MS SQL移植到ORACLE,面临大面积的SQL语句修改,其中用的最多的莫非isnull,虽然oracle中有nvl ,nullif, is null等函数,但却没有isnull.自己写一个吧 ...
最新文章
- Google的“机器人情结”:两次合计36亿美元的人工智能收购
- SQL多列查询最大值
- 初中节点法分析电路_有关初中物理电路分析题的一些小技巧
- 文本过滤--grep 1
- phpmyadmin安全预防
- ubuntu系统重启后桌面分辨率减小的原因及解决方法
- 基于matlab的暴雨强度公式参数推求,小样本流域降雨强度公式和设计降雨分布的推求方法...
- WORD 表格中图片显示不出来?
- 数据宝贝儿放云上,你放心么?
- Java Attach机制实现原理
- C#与PLC通信开发之三菱FX系列PLC
- Maven基础-认识Maven
- mtk处理器和骁龙对比_3500元以内手机的绝杀?首款MTK 天玑1000处理器手机IQOO Z发布...
- WIN10 LTSC 2019 安装新版Mircosoft Edge浏览器,解决无法安装问题
- 从苏宁电器到卡巴斯基(第二部)第30篇:我当高校教师的这几年 VI
- SAP MM 供应商无英文名称,ME21N里却带出了英文名字?
- 该内存不能为“read”的几个解决方案
- [读书笔记]魔鬼约会学
- python assert二次封装
- 中国全国地区MYSQL 地区SQL数据表(省,市,区,县)
热门文章
- python3---情感分析(基于词典中文)
- PDF转jpg for MAC
- Ucient、Netdraw的安装与使用-----分析人物间的关系和重要性
- 探索图片填充模式二--CenterCrop模式的实现
- AWVS12搭建-Ubuntu
- de4dot不能反编译的混淆工具 ILProtector
- oracle练习(mldn视频)二
- GNSS精密星历读取(matlab)
- java excel 单元格换行_单元格里的文字换行_ExcelHome - 全球极具影响力的Excel门户,Office视频教程培训中心...
- foobar2000 Mac版终于来了