问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle 判断表字段里字符串是否含有汉字

发布网友 发布时间:2022-04-29 22:03

我来回答

2个回答

懂视网 时间:2022-04-30 02:25

一.1  BLOG文档结构图

 

技术分享 

 

一.2  前言部分

 

一.2.1  导读

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:

全角字符的判断,或者是含有汉字的字符串的判断

 

 

 

本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。

一.2.2  实验环境介绍

 

11.2.0.3  RHEL6.5

 

 

 

一.2.3  本文简介

 

 

看到网友问,怎么查询表中某个字段数据是不是包含了全角字符啊? 这个问题涉及到几个个函数:to_single_bytelengthlengthb,我之前做开发的时候研究的是如何判断一个字符串中是否包含中文,其实和这个本质是一样的,且看实验部分。

 

技术分享 

 

 

 

一.3  实验部分

 

一.3.1  lengthblength函数结合to_single_byte函数

---含有汉字,严格的说是含有全角字符

SELECT l.name,

       length(l.name),

       lengthb(l.name)

FROM   xb_link l

WHERE  length(l.name) != lengthb(l.name)

AND    length(l.name) < 20;

技术分享 

 

 

以下数据也满足条件:

 SELECT l.id,

        l.name

 FROM   xb_link l

 WHERE  length(l.name) != lengthb(l.name)

 AND    l.metacategory IN

        (‘com.gxlu.ngrm.network.DDNCircuit‘,

          ‘com.gxlu.ngrm.network.FRCircuit‘,

          ‘com.gxlu.ngrm.network.ATMCircuit‘,

          ‘com.gxlu.ngrm.network.DDNOCircuit‘,

          ‘com.gxlu.ngrm.network.FROCircuit‘)

 AND    l.id IN (‘301898331‘‘301898335‘‘301908187‘‘301929403‘);

 

技术分享 

所以可以借助to_single_byte函数来解决。

 

 SELECT l.id,

        l.name,

        to_single_byte(l.name),

        length(l.name) l1,

        lengthb(l.name) l2,

        length 热心网友 时间:2022-04-29 23:33

两个方法:
1.用到正则中的regexp_like

个人感觉可能是regexp_like(字段,'[^[:alphanum:]]')
意思是在字段中匹配非0-9,a-z,A-Z的字段,如果能匹配到,那么可以认为是汉字,否则就不是汉字,当然如果字段中还包含符号,比如加减号什么的,那么那么可能更麻烦一些。
2.用lengthb,与length比长度。如果二者长度相等,那么就没有中文字符(因为中文字符一个占用两个字节)。如果lengthb长度大于length长度,那么一般就说明里面存在中文字符。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑上制作相册时转换源文件用电脑如何制作相册视频 二十四节气立秋的特点 立秋的来历和风俗-今日头条 立秋这个节气的特点 立秋节气的特点和由来-今日头条 怎么设置电脑键盘灯光笔记本怎么开键盘背光 苹果电脑win10键盘灯怎么开 苹果电脑win10键盘灯打开方法 为什么我电脑CPU 什么都不运行温度还100以上? 麻烦大家看看我的cpu温度不稳定 电脑cpu热怎么解决电脑cpu过热要怎么解决 电脑cpu温度高怎么解决办法 船用螺旋桨厂家 刚参加工作的年轻人买保险真的有必要吗? 人真的需要买保险吗 什么时候开始春运 今年春运从什么时候开始? 春运是几号开始几号结束的? 2017广州火车站840公交车夜班最晚是几点 泽信公馆交通方便吗?应该怎么过去? 从北京大兴车管所到通县物资学院乘几路车 你们是如何理财的? 天津公交车840路是归公交五公司吗 多多买菜平台在外地的人能不能下单给自己家人购物? 从夏茅做840公交车到广州火车站要多久 怎么样理财? 从北京大兴到丰台有多远啊 田心市场到东莞东火车站是不是坐840路 广州火车站840公交车在哪个位置 北京840路公交汽车多长时间一辆?人多么? 北京840路公交车路线哪站能倒927 北京的特9路公共汽车是从哪里到哪里? 上海公交840路几时和963合并 美国期货问题 五粮液公司概况? 五粮液酒的品质怎么样? 五粮液集团旗下有哪些白酒品牌? 五粮液酒有哪些年份 马歇尔蓝牙音响woburn能听通俗流行的歌曲吗? 四川天府银行股份有限公司成都江汉支行怎么样? 马歇尔蓝牙音箱品质 一般我们说的五粮液是多少度的? 四川天府银行股份有限公司南充陈寿路支行怎么样? 索尼G8342 要剪卡吗? 索尼手机G8342是什么意思 四川天府银行股份有限公司贵阳分行怎么样? 三星galaxy s7 edge和索尼 xperia xz1 g8342哪个好 11月去丽江要准备什么衣服用品 堆堆袜怎么搭配衣服 索尼xperia xz1 g8342 港行能刷国航吗 十一月份去云南,冷不冷,需要带什么衣服 买的索尼g8342摔坏了中框,然后自己换中框换完了不小心掰断了一个零件有哪位大佬帮忙看下怎么办吗 索尼g8342为什么充电只能充到百分之二十? - 信息提示