Oracle判断字段中是否包含中文(若有,取出该中文的方法)
一、问题说明
在处理数据的时候,需要判断某个字段字符串中是否有中文,若有则取出中文。
二、解决办法
首先如何判断某个字段字符串中是否有中文。这里介绍三种方法:
1、采用ASCIISTR函数

说明:ASCIISTR函数用于返回字符的ASCII形式的字符串;非ASCII的字符被转化为\xxxx的形式。换句话说:如果字符中包含中文,则必定会有\xxxx的字符。
所以,我们直接利用ASCIISTR函数匹配'\'即可判断。
2、采用length和lengthb的原理

说明:中文下length返回的是字符个数,中文占1字符,lengthb返回的是字节个数,中文占2字节,根据中文的特性即可解决。
3、使用CONVERT函数判别

说明:CONVERT(要转换的字符串,目标字符集,原字符集),CONVERT函数用于转换字符串的字符集;所以我们可以利用中文的字符集是utf-8来判断。
上面介绍了如何判断某个字段字符串中是否有中文,在成功判断字段中是否有中文之后;那么该如何取出字段中的中文呢?
这里介绍一种快速准确的办法:

函数创建成功后,直接传jldw调用就可获取该字符的中文了。
源码如下:
create or replace function getCustText(custName varchar2) return varchar2 is
Result varchar2(100); --返回的结果字符串
tmp_custName varchar2(100); --临时变量
count_str number; --字符串中字符的个数
i number:=1; --循环变量
str_ascii number; --当前等待判断字符的ascii码
current_char varchar2(10); --当前等待判断的字符
begin
select length(custName) into count_str from dual; --取出待处理字符串的长度
while i<count_str loop ---根据待处理字符串长度(counts)?,逐个字符判断处理
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;
参考资料:
http://www.cnblogs.com/kerrycode/p/4233710.html
Oracle判断字段中是否包含中文(若有,取出该中文的方法)的更多相关文章
- [C#]判断字符串中是否包含中文
关键代码: /// <summary> /// 判断字符串中是否包含中文 /// </summary> /// <param name="str"&g ...
- java判断字符串中是否包含中文 过滤中文
package com.test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test ...
- java 判断字符串中是否包含中文并过滤掉中文
java判断字符串中是否包含中文并过滤掉中文 CreateTime--2017年9月6日08:48:59 Author:Marydon 1.判断字符串中是否包含中文方法封装 /** * 判断字符串 ...
- PHP判断字符串中是否包含指定字符串,支持中文哦
RT,随手写的 /** * 判断字符串中是否包含指定字符串 * @var source 源字符串 * @var target 要判断的是否包含的字符串 * @return bool */ functi ...
- SQL 判断字段中指定字符出现的次数
原文地址:SQL 判断字段中指定字符出现的次数 原理:将指定字符转换为空,原长度减去转换后的长度就是指定字符的次数. 在做数据处理时遇到一个SQL操作的问题就是有一列关键词字段,字段中包含各种乱七八糟 ...
- php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpos
php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpossubstr_count($haystack, $needle [,$o ...
- Jquery判断数组中是否包含某个元素$.inArray()的用法
判断数组里面是否包含某个元素可以使用 $.inArray("元素(字符串)",数组名称) 进行判断 ,当存在该元素(字符串)时,返回该元素在数组的下标,不存在时返回 -1 示例代码 ...
- 定义一个Collection接口类型的变量,引用一个Set集合的实现类,实现添加单个元素, 添加另一个集合,删除元素,判断集合中是否包含一个元素, 判断是否为空,清除集合, 返回集合里元素的个数等常用操作。
package com.lanxi.demo2; import java.util.HashSet; import java.util.Iterator; import java.util.Set; ...
- 判断字符串中是否包含Emoji表情代码
判断字符串中是否包含Emoji表情代码: + (BOOL)stringContainsEmoji:(NSString *)string { __block BOOL returnValue = NO; ...
随机推荐
- CentOS7和OpenStack的笔记(一)
CentOS7和OpenStack的笔记(一) 最近搞CentOS7系统和OpenStack框架,整了近一个星期,系统装了好几次,框架搭了又从搭.虽然最后的实例没能启动成功,但是在这专研的一个星期里, ...
- PAT (Advanced Level) Practice 1003 Emergency
思路:用深搜遍历出所有可达路径,每找到一条新路径时,对最大救援人数和最短路径数进行更新. #include<iostream> #include<cstdio> #includ ...
- ZooKeeper典型使用场景一览
场景类别 典型场景描述(ZK特性,使用方法) 应用中的具体使用 数据发布与订阅 发布与订阅即所谓的配置管理,顾名思义就是将数据发布到zk节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新 ...
- document ready
https://developer.mozilla.org/zh-CN/docs/Web/Events/DOMContentLoaded https://github.com/addyosmani/j ...
- VS.NET2013发布网站的时候去掉.cs文件(预编译)(转)
在要发布的网站上右键,选择"发布网站". 在发布窗口中,会让你选择一个发布配置文件,没有的话点击下拉菜单在里面选择新建一个. NEXT. 好,现在发布一下网站.发布出来 ...
- 20155217 2016-2017-2 《Java程序设计》第3周学习总结
20155217 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 要产生对象必须先定义类,类定义时使用class关键词,建立实例要使用new关键词. ...
- 假期C语言学习笔记4
函数 经过三个星期的慕课的学习大致上学会了C的一些基本知识,在经过三个星期的C语言课本实践将书上的例题,课后练习实践挨个做了一遍,终于到了函数这一章.时间过的好快呀. 函数分为库函数和自定义函数:有返 ...
- Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)
case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认执行的命令序列 ...
- WPF之路-键盘与鼠标事件 - 简书
原文:WPF之路-键盘与鼠标事件 - 简书 键盘事件 事件类型分为以下几个类型 生命周期事件:在元素加载与卸载的时候发生 鼠标事件:鼠标动作 键盘事件:键盘动作 手写笔事件:适用于win7以上的系统 ...
- katalon系列十六:代码运行时实时创建元素对象或列表
Katalon的常规方法是先抓取元素并保存到仓库,在脚本中需要用到的时候调取,但假如元素属性和个数是可变的,就不能事先保存到仓库了,需要在脚本运行时实时创建. 代码运行时实时创建一个元素对象的例子im ...