新增 Oracle 兼容函数-V8R6C4B0021
KingbaseES V8R6C4B0021新增加以下Oracle 兼容函数。
一、bin_to_num
Oracle bin_to_num 函数用于将二进制位转换成十进制的数。
1、传入参数
test=# \df bin_to_num
List of functions
Schema | Name | Result data type | Argument data types | Type
--------+------------+------------------+---------------------+------
sys | bin_to_num | numeric | VARIADIC "any" | func
bin_to_num 传入的参数必须是 0 或 1,参数个数不限。
2、使用例子
test=# select bin_to_num(1,1,1,1,1) from dual;
bin_to_num
------------
31
(1 row) test=# select bin_to_num(1,1,1) from dual;
bin_to_num
------------
7
(1 row) test=# select bin_to_num(1,1,1,1,1,0,0,1,1) from dual;
bin_to_num
------------
499
(1 row)
二、regexp_count
1、函数参数
REGEXP_COUNT 返回pattern 在source_char 串中出现的次数。如果未找到匹配,则函数返回0。position 变量告诉Oracle 在源串的什么位置开始搜索。在开始位置之后每出现一次模式,都会使计数结果增加1。
REGEXP_COUNT (source_char, pattern [, position [, match_param]] ) ,其中 match_param 变量支持下面几个值:
- ‘i’ 用于不区分大小写的匹配
- ‘c’ 用于区分大小写的匹配
- ‘n’ 允许句点(.)作为通配符去匹配换行符。如果省略该参数,则句点将不匹配换行符
- ‘m’ 将源串视为多行。即Oracle 将^和$分别看作源串中任意位置任何行的开始和结束,而不是仅仅看作整个源串的开始或结束。如果省略该参数,则Oracle将源串看作一行。
- ‘x’ 忽略空格字符。默认情况下,空格字符与自身相匹配。
2、使用例子
test=# select REGEXP_COUNT('GEORge','GE',1,'i') from DUAL;
regexp_count
--------------
2
(1 row)
test=# select REGEXP_COUNT('GEORge','GE',1,'c') from DUAL;
regexp_count
--------------
1
(1 row)
test=# select REGEXP_COUNT('abc/36.0dfsdad;',E'/36\.0','1','c');
regexp_count
--------------
1
(1 row)
test=# select REGEXP_COUNT('abc/36.0dfsdad;','/36\.0','1','c');
regexp_count
--------------
1
(1 row)
--除“;” 外的字符个数
test=# select regexp_count('abc/36.0efgh;ijk','[^;]');
regexp_count
--------------
15
(1 row)
test=# select regexp_count('abc/36.0efgh;ijk','[I]');
regexp_count
--------------
0
(1 row)
注意:Oracle 与 KingbaseES 的正则中 match_param 的意义有部分不同导致结果不同。
三、regexp_instr
1、函数参数
REGEXP_INSTR (source_char, pattern [, position [, occurrence [, return_option [, match_parameter ] ] ] ] )
- source_char 搜索值的字符表达式,可以是任何数据类型CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB的。
- pattern 正则表达式
- position 可选。搜索在字符串中的开始位置。如果省略,则默认为1,这是字符串中的第一个位置。
- occurrence: 可选。它是模式字符串中的第n个匹配位置。如果省略,默认为1。
- return_option:可选 指定返回的位置:如果指定0,那么将返回出现的第一个字符的位置,这是默认的;如果指定1,则返回字符之后发生的位置。
- match_parameter 可选。它允许你修改REGEXP_INSTR功能匹配的行为。
2、使用例子
test=# SELECT REGEXP_INSTR ('World filled with love', 'with', 1, 1, 0, 'i') FROM dual;
regexp_instr
--------------
14
(1 row)
test=# SELECT REGEXP_INSTR ('World filled with love', 'with', 1, 1, 1, 'i') FROM dual;
regexp_instr
--------------
18
(1 row)
test=# SELECT REGEXP_INSTR ('Itmyhome', 'a|i|o|e|u') from dual;
regexp_instr
--------------
6
(1 row)
新增 Oracle 兼容函数-V8R6C4B0021的更多相关文章
- oracle常用函数总结(二)
之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...
- oracle 高级函数2
原 oracle 高级函数 2017年08月17日 16:44:19 阅读数:1731 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013278 ...
- oracle 高级函数
原 oracle 高级函数 2017年08月17日 16:44:19 阅读数:1731 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013278 ...
- oracle add_months函数
oracle add_months函数 add_months 函数主要是对日期函数进行操作,举例子进行说明 add_months 有两个参数,第一个参数是日期,第二个参数是对日期进行加减的数字(以月为 ...
- Oracle to_date()函数的用法
Oracle to_date()函数的用法 to_date()是Oracle数据库函数的代表函数之一,下文对Oracle to_date()函数的几种用法作了详细的介绍说明,供您参考学习. 在Orac ...
- Oracle over函数
Oracle over函数 SQL code: sql over的作用及用法RANK ( ) OVER ( [query_partition_clause] order_by_clause )DE ...
- Oracle常用函数
前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...
- Oracle SQL函数
Oracle将函数大致分为单行函数,聚合函数和分析函数. 单行函数分为字符函数,日期函数,转换函数,数字函数,通用函数,decode函数 一.字符函数 1)大小写控制函数 01.Lower() 全部小 ...
- Oracle trunc()函数的用法
Oracle trunc()函数的用法 /**************日期********************/1.select trunc(sysdate) from dual --2013-0 ...
随机推荐
- UiPath参数介绍和使用
一.参数介绍 用于将数据从一个项目传递到另一个项目.在全局意义上,它们类似于变量,因为它们动态地存储数据并传递给它.变量在活动之间传递数据,而参数在自动化之间传递数据.因此,它们使你能够一次又一次地重 ...
- SpringBoot开发 - 什么是热部署和热加载?devtool的原理是什么?
在SpringBoot开发调试中,如果我每行代码的修改都需要重启启动再调试,可能比较费时间:SpringBoot团队针对此问题提供了spring-boot-devtools(简称devtools)插件 ...
- 树莓派实战:微信机器人(itchat实现)
背景 楼主有一台树莓派4B开发板(8G内存版),是目前的顶配机型.这一年来的业余时间,除了写Java.架构方面的文章,也陆续折腾了不少树莓派上的好玩小项目,在此新开一个树莓派实战的文章系列,分享给粉丝 ...
- 驳"一切不谈考核的管理都是扯淡"
一.引子 以我个人的从业经验认为,研发人员的量化考核,始终是一个世界难题.正巧不久前在园子里看到了"一切不谈考核的管理都是扯淡!"一文(下面简称为"扯淡"),该 ...
- 初学者对html的认知
首先是关于本人对一个新事物的理解路线 对html的认知: what:首先我得知道它是什么?html是一门超文本标记语言,它不是一门编程语言 why:它为什么会存在?它存在的意义是什么?随着互联网的发展 ...
- 001 Redis 配置
Redis缓存 1.配置Redis //Redis 配置文件 @Configuration public class RedisConfiguration { @Bean public RedisTe ...
- 聊一聊 C# 后台GC 到底是怎么回事?
一:背景 写这一篇的目的主要是因为.NET领域内几本关于阐述GC方面的书,都是纯理论,所以懂得人自然懂,不懂得人也没法亲自验证,这一篇我就用 windbg + 源码 让大家眼见为实. 二:为什么要引入 ...
- 题解 $UVA$ 11825【$Hackers$' $Crackdown$】
本题的数学模型是:把\(\mathcal{n}\)个集合\(\mathcal{P1,P2,...,Pn}\)分成尽量多组,使得每组中所以集合的并集等于全集.这里集合\(\mathcal{Pi}\)就是 ...
- 第八天pyhton3 函数的返回值、作用域
返回值 pthon函数使用return语句返回"返回值": 所有函数都有返回值,如果没有return语句,隐式调用return None: return 语句并不一定是函数的语句块 ...
- 小试牛刀:Go 反射帮我把 Excel 转成 Struct
背景 起因于最近的一项工作:我们会定义一些关键指标来衡量当前系统的健康状态,然后配置对应的报警规则来进行监控报警.但是当前的报警规则会产生大量的误报,需要进行优化.我所负责的是将一些和用户行为指标相关 ...