内置函数(oracle)

oracle中的内置函数分类
(1)转换函数
--to_number 转换数值型
select '1'+1 form dual;
select to_number('1')+1 from dual;
select to_number ('helloworld') from dual;
 
--to_char 转换字符类型
select to_char(123) from dual;
--yyyy-mm-dd hh:mi:ss 12小时制
--yyyy-mm-dd hh24:mi:ss 24小时制
selct to_char(sysdate,'yyyy-mm-dd hh:mi:ss')from dual;
 
--to_date转换日期
insert into dual values(to_date('2020-12-12','yyyy-mm-dd'));
(2)日期函数
--获取当前的系统时间
select sysdate from dual;
 
--获取当前的系统时间精确到毫秒以及时区
select systimestamp from dual;
 
--add_months 在指定日期的基础上新增或者减少指定的月份
select add_months(sysdate,2) from dual;--新增
select add_months(sysdate,-1) from dual;--减少
 
--months_between求月份差
select months_between(sysdate,to_date('2020-12-12','yyyy-mm-dd')) from dual;
 
--next_day 获取当前时间的后面的星期二是哪一天
select next_day (sysdate,'星期二')from dual;
 
--last_day 获取当前月份的最后一天时什么时间
select last_day(sysdate) from dual;
 
--extract 单独的获取日期的年份,月份,日
selet extract (year from sysdate) from dual;
 
--round 四舍五入 以天为单位
select round(sysdate) from dual;
select round(to_date('2022-02-20 12:00:01','yyyy-mm-dd hh24:mi:ss'))from dual;
 
--trunc 截断日期
select trunc(to_date('2022-02-20 23:59:59','yyyy-mm-dd hh24:mi:ss')))from dual;

(3)字符串函数
--length 求字符串的长度
select length('哈哈') from dual;
 
--ltrim和 rtrim 去除两端的空格
select ltrim('    helloworld') from dual;
select length('    helloworld') from dual;
select length(ltrim('    helloworld')) from dual;
 
--replace 替换
select replace('zz is a nice man','zz','dengyankang') from dual
 
--lpad|rpad 在左右两端填充指定的内容
select lpad('hello',10,'a') from dual;
select rpad('hello',10,'a') from dual;
 
--upper|lower 转换大小写
select upper('zz is a nice man') from dual;
select lower('ZZ IS A NICE MAN') from dual;
 
--chr|ascii 数值与字符的转换
--a=97  A=65  0=48
select chr(97) from dual;
select ascii('a') from dual;
select ascii('哈') from dual;
 
--instr 根据目标字符串查找指定字符的下标
select instr('kashdsakdsakjdlksald','k') from dual;
 
--从目标字符串的指定位置开始查找指定字符的下标
select instr('kashdsakdsakjdlksald','k',2) from dual;
 
--如果下标为负数,从指定的位置开始查找k第一次出现的位置,从左侧开始数下标
select instr('kashdsakdsakjdlksald','k',-2) from dual;
 
--如果下标为负数,从指定的位置开始查找k第二次出现的位置,从左侧开始数下标
select instr('kashdsakdsakjdlksald','k',-2,2) from dual;
 
--substr 截取
select substr('ksajhdkhsa',3) from dual;
 
--从指定的位置开始截取,截取后面几位
select substr('ksajhdkhsa',3,5) from dual;
 
--decode 判断
select decode('sb','nb','1','ab','2','sb','3')from dual;

(4)数学函数
abs|ceil|floor|sqrt|round|mod|power|sign
 
select abs(-1) from dual;--绝对值
 
select ceil(12.001) from dual;--向上取整
 
select floor(12.99999) from dual;--向下取整
 
select sqrt(4) from dual;--开平方
 
select power(2,3) from dual;--求幂函数
select power(2,8) from dual;--256
select power(2,10) from dual;--1024
 
select round(12.89,1) from dual;--四舍五入
 
select mod(10,3) from dual;--取模
 
--sign判断正负数
select sign(100) from dual;--1
select sign(-100) from dual;-- -1
select sign(0) from dual;-- 0
(5)分析函数(统计函数)max min count sum avg
(6)其他函数 nvl nvl2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值