Oracle 函数

Oracle 函数

1.REGEXP_LIKE()

​ >>高级like

使用语法
REGEXP_LIKE( EXPERSSION , PATTERN ,  MATCH_PARAMATER )
  • EXPERSSION ,字符表达式,需要匹配的字段。
  • PATTERN,正则表达式(前面文章有介绍,这里就不再介绍了)。
  • MATCH_PARAMATER,可选参数,可以修改匹配方式。
    ‘c’ 执行区分大小写匹配。
    ‘i’ 执行忽略大小写匹配。
    ‘x’ 执行忽略空格匹配。
    ‘m’ 执行假定为单行匹配(无论是否有多行)。
    ‘n’ 允许.不匹配\n。
具体使用场景举例

​ 比如一段sql找到姓赵、钱、孙、李的所有人。如果用like进行匹配就需要使用4个like。如果使用REGEXP_LIKE就只需要REGEXP_LIKE(NAME,’(赵|钱|孙|李)’)就可以进行匹配了。

除REGEXP_LIKE之外,支持正则匹配的还有

REGEXP_INSTR :与INSTR的功能相似
REGEXP_SUBSTR :与SUBSTR的功能相似
REGEXP_REPLACE :与REPLACE的功能相似

具体用法之后使用到的时候再了解

2.TRUNC()

​ >>按指定格式截取数据

使用语法
TRUNC( date/number , fmt/decimals )
  • 第一个参数,可以是date日期也可以是number数字。
  • 第二个参数是格式,也可以省略。
具体举例
   select sysdate from dual;--2021-07-16 10:26:09返回当前时间
   select trunc(sysdate) from dual;--2021-07-16 00:00:00,返回当天零点
   select trunc(sysdate,'yy') from dual;--2021-01-01 00:00:00,返回当年第一天
   select trunc(sysdate,'mm') from dual;--2021-07-01 00:00:00,返回本月的第一天
   select trunc(sysdate,'d') from dual;--2021-07-11 00:00:00,返回本周第一天,为什么是周日?因为国外排序是日一二三四五六。
   select trunc(sysdate,'dd') from dual;--2021-07-16 00:00:00,返回当前日期
   select trunc(sysdate ,'HH24') from dual;--2021-07-16 10:00:00,返回本小时的开始时间
   select trunc(sysdate ,'MI') from dual;--2021-07-16 10:32:00,返回本分钟的开始时间
    select trunc(123.567,2) from dual;--123.56,保留多少位小数;
    select trunc(123.567,-2) from dual;--100,也可为负数,负数代表往小数点左边截取,截取部分均补0;
    select trunc(123.567) from dual;--123,默认截去小数点后面的部分;

3.ROUND()

​ >>四舍五入截取数字

使用语法
ROUND( number , decimal_places )
  • number,待截取的数。
  • decimal_places,保留小数的位数,可省略,省略表示丢掉小数。也可为负数,负数代表往小数点左边截取,截取部分均补0。
具体举例
    select round(123.567,2) from dual;--123.57,保留多少位小数;
    select round(123.567,-2) from dual;--100,也可为负数,负数代表往小数点左边截取,截取部分均补0;
    select round(123.567) from dual;--123,默认截去小数点后面的部分;
    select round(123.123,2) from dual;--123.12四舍五入;

4.MONTH_BETWEEN()

​ >> 获取两个日期相差月数

使用语法
MONTH_BETWEEN(date1,date2) 

5.MOD()

​ >>获取A%B的值,如B=0,则返回A

使用语法
MOD(A,B)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值