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 ? ? 参考资料: ? http://www.cnblogs.com/kerrycode/p/4233710.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |