oracle(内置函数)

简介: oracle(内置函数)

1.转换函数

   to_char()

   to_number()

   to_date()

例子

  1. --to_number():转成数值型

       select to_number('22')+23 from dual;

      2.--to_char():转成字符型

       select to_char(22)||'哈哈' from dual;

       select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;--定义格式

       select to_char(sysdate,'yyyy"年"mm"月"dd"日" hh:mi:ss') from dual;--定义格式

       3.--to_date():转为日期型  hh24:24小时制

       select to_date('2022-02-02 15:15:15','yyyy-mm-dd hh24:mi:ss') from dual;

2.日期函数

   sysdate/systimestamp

   add_months(date,number)

   months_between(date,date)

   extract(xx from date) 1 2

   last_day(date)

   next_day(date,week)

   round(date)

   trunc(date)

例子

  1. --系统的当前时间

       select sysdate from dual;

     2. --更为精确 了解即可

       select systimestamp from dual;

      3. --增加/减少指定的月数

       select add_months(sysdate,-11) from dual;

      4. --两个日期之间相差的月份数 前者-后者

       select months_between(sysdate,to_date('2024-02-25','yyyy-mm-dd')) from dual;

        5. --取指定日期中的年/月/日

       select extract(year from sysdate) from dual;

       select extract(month from sysdate) from dual;

       select extract(day from sysdate) from dual;

      --案例:查询所有在2月份入职的员工信息

       select * from emp where extract(month from hiredate)=2;

       --案例:查询各个月份入职的员工人数

       select extract(month from hiredate) 月份,count(*) 人数 from emp group by extract(month         from hiredate)

      6. --取指定日期的当月最后一天

     select last_day(sysdate) from dual;

      7. --取下一个星期日的日期

       select next_day(sysdate,'星期日') from dual;

      8. --日期的四舍五入 超过12点就取下一天

       select round(to_date('2022-08-08 14:11:11','yyyy-mm-dd hh24:mi:ss')) from dual;

       9.--取年月日 了解即可

       select trunc(to_date('2022-08-08 11:11:11','yyyy-mm-dd hh24:mi:ss')) from dual;

3.字符串函数

   initcap(varchar2)

   lower(varchar2)

   upper(varchar2)

   ltrim/rtrim(varchar2,varchar2)

   replace(varchar2,varchar2,varchar2)

   instr(varchar2,varchar2[,number])

   substr(varchar2,number[,number])

   concat(varchar2,varchar2)

   ascii(varchar2)

   chr(number)

   lpad/rpad(varchar2,number,varchar2)

   length(varchar2)

   decode(自定义)

--字符串长度 1个汉字=1个字符

select length('龚彬abcd') from dual;

--全小写/大写

select lower('MissYou') from dual;

select upper('MissYou') from dual;

--首字母大写

select initcap('nice') from dual;

--字符串的替换

select replace('I love you','I','He') from dual;

--从第2位往后截取5位

select substr('goodgoodstudy',2,5) from dual;

--从第3位截取到最后

select substr('beautiful',3) from dual;

--拼接 ||

select concat('兰基佬','好狗') from dual;

--从指定位置开始找c第一次出现的位置

select instr('abcdefgabcd','c',4) from dual;

--按顺序去除左边/右边指定字符

select ltrim('abcdefg','bc') from dual;

select rtrim('abcdefg','f') from dual;

--指定字符的ASCII码

select ascii('B') from dual;

--指定ASCII码的字符

select chr(100) from dual;

--左/右填充

select lpad('abcd',6,'x') from dual;

select rpad('abcd',6,'x') from dual;

--找对应关系

select decode('c','g','f','a','3','c','s') from dual;

4.数学函数

   abs(number)

   ceil(number)

   floor(number)

   round(number,number)

   trunc(number,number)

   sign(number)

   sqrt(number)

   mod(number,number)

   power(number,number)    

--绝对值

select abs(-23) from dual;

--开平方根

select sqrt(625) from dual;

--幂值

select power(3,3) from dual;

--取余数

select mod(11,3) from dual;

--向上取整 取大于它的最小整数

select ceil(43.56) from dual;

--向下取整 取小于它的最大整数

select floor(34.56) from dual;

--三种结果 正数:1 负数:-1 零:0

select sign(0) from dual;

--四舍五入

select round(23.41,1) from dual;

--保留有效数字 保留1位小数

select trunc(23.46,1) from dual;


相关文章
|
3月前
|
SQL Oracle 算法
|
3月前
|
SQL Oracle 关系型数据库
|
3月前
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
|
3月前
|
Oracle 关系型数据库 数据挖掘
|
3月前
|
Oracle 关系型数据库 数据挖掘
|
4月前
|
存储 Oracle NoSQL
Oracle中decode函数详解
Oracle中decode函数详解
|
4月前
|
Oracle 关系型数据库 大数据
oracle递归函数
oracle递归函数
|
5月前
|
NoSQL Oracle 关系型数据库
MongoDB与Oracle:管道函数兼容之道
【4月更文挑战第20天】
46 2
|
5月前
|
Oracle 关系型数据库 数据管理
Oracle常用系统函数之日期和时间类函数:时空穿梭者的魔法棒
【4月更文挑战第19天】Oracle数据库中的日期和时间函数是强大的工具,如同时空穿梭者的魔法棒。`SYSDATE`和`CURRENT_TIMESTAMP`能显示当前时间,助你在数据中记录关键时刻;`ADD_MONTHS`函数让你轻易跃过月份,实现时间穿越;而`TO_DATE`和`TO_CHAR`则负责日期和时间的格式转换,如同时间的化妆师。除此之外,还有`EXTRACT`、`LAST_DAY`等更多魔法道具,帮助数据管理专家们自如操控时间,解决各种挑战。掌握这些函数,你也能在数据世界中自由穿梭!
|
5月前
|
Oracle 算法 关系型数据库
Oracle常用系统函数之数字类函数:数字的魔术师
【4月更文挑战第19天】Oracle数据库中的数字类函数是数字处理的魔术师,包括`ROUND`(四舍五入),`CEIL`和`FLOOR`(向上/下取整),以及`ABS`(计算绝对值)。还有`MOD`、`TRUNC`和`POWER`等函数,提供求余数、截断和计算幂的功能。熟练运用这些函数能提升数据管理效率,让处理数字变得更简单、有趣。