判断全角字符oracle,oracle判断汉字和全角字符的方法
最近由于单位提了一个需求,要判断提供的用户名称里不有全角字符,至少有两个汉字。找了半天,想通过正则表达式来解决,但测试了好久才发现,oracle的正则函数REGEXP_LIKE 不支持“\un匹配 n,其中 n 是以四位十六进制数表示的 Unicode 字符”的判断,例如,
最近由于单位提了一个需求,要判断提供的用户名称里不有全角字符,至少有两个汉字。找了半天,想通过正则表达式来解决,但测试了好久才发现,oracle的正则函数REGEXP_LIKE 不支持“\un 匹配 n,其中 n 是以四位十六进制数表示的 Unicode 字符”的判断,例如,\u00A9 匹配版权符号 (?),而标准的正则是可以支持的,所以这个办法行不通,只能过期其他办法来实现。
在网上找了半天,都没有确切的实现办法,有通过Length()和lengthb ()来判断,但不完美,所以就把自己的写法记录下来希望能有用处。
对于全角字符,ascii值的范围是\uFF00-\uFFFF,都是FF段的,所以可以通过转换成ascii 来判断,instr(asciistr(replace( '在《<23\', '\')),'\FF',1,1) > 0 就可以实现
对于汉字,范围太大,只能通过函数来完成,于是写了如下函数:
create or replace function get_chinese(v_name in varchar2) return integer is
i int;
<
判断全角字符oracle,oracle判断汉字和全角字符的方法相关推荐
- mysql汉字占几个字符_mysql和oracle的一个汉字占几个字符
以前一直使用oracle11g,一个汉字占3个字节,所以在操作mysql时也一直这样分配长度. 今天测试了下发现不对了 可以看到第一个的长度确实是15,但是第二个为什么是5? 在网上找到资料:char ...
- 纯js计算字符串中的字符的个数(汉字算两个字符计算)
function getByteLen(val) {var len = 0;for (var i = 0; i < val.length; i++) {var a = val.charAt(i) ...
- php区分全角半角字符,php如何判断是字符串全角还是半角
php如何判断是字符串全角还是半角 关注:168 答案:2 手机版 解决时间 2021-01-15 16:08 提问者夏日╮悲歌 2021-01-15 00:27 php如何判断是字符串全角还是半 ...
- java首字母判断星期几_Java 获取汉字串首字母并大写和获取汉字的全拼(英文字符不变) 判断字符串是否为字母...
在开发一个姓名检索功能的时候 没有使用之前查找到的前端Layui-select 下拉框实现拼音全拼匹配/首字母模糊搜索 在数据库中增加了首字母和全拼的内容实现输入首字母/拼音来检索人员 所以需要用到人 ...
- oracle 括号全角转半角,Oracle 表字段全角字符转换半角字符办法
如何把oracle表中的全角字符转换为半角字符? a表包含全角字符的字段:address update a set a.address =(to_single_byte(a.address)) 执行, ...
- oracle如何判断数字中有字母,SQL 判断含有字母和数字的字符串
SQL 判断含有字母和数字的字符串,你想从一个表里筛选出部分行数据,筛选条件是你感兴趣的那个列只包含字母和数字字符,考虑下面的视图 V(SQL Server 用户需要把字符串连接操作符||替换为 +) ...
- oracle正则判断数字开头,oracle 正则表达式判断是否数字
oracle 正则表达式判断是否数字 发布时间:2018-12-13 10:35, 浏览次数:375 , 标签: oracle 正则表达式 ORACLE中的支持正则表达式的函数主要有下面四个: 1,R ...
- oracle判断非空并拼接,oracle sql 判断字段非空,数据不重复,插入多跳数据
oracle sql 判断字段非空,数据不重复 select distinct(mobile) from wx_user_mobile where active_time is not null ...
- js 识别汉字和全角字符
遇到个问题,需要检测输入框中的字符长度,如果是汉字,算作2个字节。。。 然后我就在想,我怎么去识别他是不是汉字呢???首先想到的可能就是 js 的 charCodeAt 方法, ASCII 码,然后就 ...
- oracle触发器判断空值,oracle触发器加条件判断、dblink
--新增基站同步给电池组信息 create or replace trigger a_b_test after insert or update or delete on BJLT.BASESTATI ...
最新文章
- 【Runtime】动态添加方法demo
- 字符串截取,对数字,英文,汉字都可以
- Facebook如何向十亿人推荐东西
- python 输出在固定位置_python多进程/线程抢占stdoutput总是在固定位置截断上个输出?...
- 60行代码俄罗斯方块
- GDCM:处理DICOM文件的示例
- 怎么使用starwind部署iscsi_2019 年总结 - 多环境多版本的部署
- 你会用Java实现两个大数相加吗
- Prim和Kruskal求最小生成树
- nginx 发送动态内容注意事项
- APISpace 手机号码归属地API
- 数字电子技术基础(六):译码器、数据选择器
- 涡CFTurbo 10.2.6 2017泵轮涡旋式机械设计
- ie7/8卸载工具 降级到IE6
- 棋牌游戏开发教程系列:游戏服务器框架搭建
- 如何根据IP地址获取局域网内的主机名称
- Win7快速启动栏恢复方法
- 前端优质网络内容(引用)
- 新手如何看k线(图)
- CS5265的Type-C转HDMI2.0方案