当前位置: 首页 > article >正文

Oracle常见系统函数

一、字符类函数

1,ASCII(c)和CHR(i)字符串和ascii码互转换

SQL> select ascii('Z') ,ascii('H'),ascii(' A')  from dual;

ASCII('Z') ASCII('H') ASCII('A')
---------- ---------- ----------
        90         72         32

SQL> select chr(90),chr(72),chr(65) from dual;

CH CH CH
-- -- --
Z  H  A

2.CONCAT(s1,s2)连接字符串

SQL> select concat('','')from dual;

C
-


SQL> select concat('hey','')from dual;

CONCAT
------
hey

SQL> select concat('','addie')from dual;

CONCAT('',
----------
addie

3.INITCAP首字母大写

SQL> select initcap('addie')from dual;

INITCAP('A
----------
Addie

4.INSTR(s1,s2[,i][,j])返回子字符串s2在s1中

SQL> select instr('helloinaddie','addie') from dual;

INSTR('HELLOINADDIE','ADDIE')
-----------------------------
                            8

5.LENGTH返回字符串长度

SQL> select length('helloaddie') from dual;

LENGTH('HELLOADDIE')
--------------------
                  10

6.LOWER和UPPER大小写转换

SQL> select lower('ADDIE'),upper('addie')from dual;

LOWER('ADD UPPER('ADD
---------- ----------
addie      ADDIE

7.Itrim(s1,s2)、Rtrim(s1,s2)、Trim(s2 from s1)去除字符串左边、右边、两边的指定字符

SQL> select ltrim('***addie***','*'),rtrim('**addie*','*'),trim('*' from '******addie***')from dual;

LTRIM('***ADDIE* RTRIM('**ADDIE TRIM('*'FR
---------------- -------------- ----------
addie***         **addie        addie

8.REPLACE(s1,s2[,s3])使用子

将s1中s2位置处的字符替换成字符串s3

SQL> select replace('helloimaddie','addie','allen')from dual;

REPLACE('HELLOIMADDIE','
------------------------
helloimallen

9.SUBSTR(s,i,[j])截取字符串

从字符串s中第i个字符开始截取j个长度的子字符串

SQL> select substr('helloeocoimaddiethisismyfirstexercise',10,15)from dual;

SUBSTR('HELLOEOCOIMADDIETHISIS
------------------------------
imaddiethisismy

二、数字类函数

1.ABS[n]返回n的绝对值

SQL> select abs(-9.1) from dual;

 ABS(-9.1)
----------
       9.1

2.ROUND(n1,n2)返回舍入小数点右边n2位的n1的值

n2的默认值为0 返回最接近的整数。如果n2为负数,则向小数点左边相应位数做舍入,n2必须是整数。

SQL> select round(3.1415926,3) from dual;

ROUND(3.1415926,3)
------------------
             3.142

3.CELI(n)返回大于等于n的最小整数,FLOOR(n)则相反 返回小于等于n的最大整数

SQL> select ceil(9.1),floor(-7.1) from dual;

 CEIL(9.1) FLOOR(-7.1)
---------- -----------
        10          -8

4.MOD(n1,n2)返回n1除以n2的余数

SQL> select mod(9.3,3) from dual;

MOD(9.3,3)
----------
        .3

5.ROUND(n1,n2)返回舍入小数点右边n2位的值,n2可以是负数 为负则小数点左边舍入

四舍五入

SQL> select round(13.1526789,3),round(13.1526789,-1) from dual;

ROUND(13.1526789,3) ROUND(13.1526789,-1)
------------------- --------------------
             13.153                   10

6.sign(n)判断n的正负

SQL> select sign(1),sign(0),sign(-9) from dual;

   SIGN(1)    SIGN(0)   SIGN(-9)
---------- ---------- ----------
         1          0         -1

7.TRUN(n1,n2)返回结尾到n2位小数的n1的值,可以为负数,必须为整数

仅截取,不做四舍五入

SQL> select trunc(3.14159,3),trunc(3.14159,-1),round(3.14159,3) from dual;

TRUNC(3.14159,3) TRUNC(3.14159,-1) ROUND(3.14159,3)
----------------- ----------------- ----------------
            3.141                 0            3.142

三、日期和时间类函数

1.ADD_MONTHS(date,n)返回date后n个月的date

SQL> select sysdate,add_months(sysdate,6) from dual;

SYSDATE        ADD_MONTHS(SYS
-------------- --------------
19-3月 -25     19-9月 -25

2.LAST_DAY(date)返回date所在月份的最后一天

SQL> select last_day(sysdate) from dual;

LAST_DAY(SYSDA
--------------
31-3月 -25

3.MONTHS_BETWEEN(d1,d2)返回d1和d2之间相差的天数

4.NEW_TIME(d1,t1,t2)当时区t1中的日期和时间是d1时,返回时区t2中的日期和时间

5.SYSDATE()返回系统当前的日期

四、转换类函数

1.TO_CHAR(x[,format])将表达式转换为字符串

SQL> select sysdate,to_char(sysdate,'YYYY-MM-DD') from dual;

SYSDATE        TO_CHAR(SYSDATE,'YYY
-------------- --------------------
19-3月 -25     2025-03-19

2.TO_DATE(s[,format[lan]])将字符串转换为date类型

SQL> select to_date('2025-09-19','YYYY-MM-DD') from dual;

TO_DATE('2025-
--------------
19-9月 -25

3.TO_NUMBER(s[,format[lan]])返回字符串s代表的数字

常用于进制转换

五、聚集类函数

1.AVG()计算选择列表项的平均值

SQL> select count(empno),avg(sal) from emp;

COUNT(EMPNO)   AVG(SAL)
------------ ----------
          10     2267.5

2.COUNT()返回查询结果中的记录数

3.MAX()返回选择列表项目中的最大数

4.MIN()返回选择列表项目中的最小数

5.SUM()返回选择列表项目的数值总和

6.VAR()返回选择列表项目的统计方差

7.STDDEV()返回选择列表项目的标准偏差


http://www.kler.cn/a/591802.html

相关文章:

  • 华为供应链的变革模式和方法P105(105页PPT)(文末有下载方式)
  • 3D视觉相机引导机器人的原理
  • MongoDB下载安装
  • 深度学习框架PyTorch——从入门到精通(4)数据转换
  • vue/react前端项目打包的时候加上时间,防止后端扯皮
  • Python 视频爬取教程
  • 【SpringMVC】深入解析基于Spring MVC与AJAX的用户登录全流程——参数校验、Session管理、前后端交互与安全实践
  • 【eNSP实战】旁挂二层组网—隧道转发
  • 【在数轴上找最优位置,使移动距离最短】
  • 在NET6项目中报错,未能在命名空间System.Data.SqlClient中找到类型名SqlCommand,解决办法
  • Linux系统移植篇(十一)Linux 内核启动流程
  • 33、class
  • [本周五题]Javascript面试常考题手撕场景UR缓存、new关键字、大数相加、最长递增子序列、高并发请求、大文件上传和WebWorks
  • 基于FPGA的3U机箱模拟量高速采样板ADI板卡,应用于轨道交通/电力储能等
  • 精准git动图拆解​
  • React第三十章(css原子化)
  • Android 15 获取网络切片信息的标准接口
  • vue3+elementPlus使用vuedraggable实现照片墙拖拽调整位置
  • 【设计模式】3W 学习法全面解析 7 大结构型模式:Java 实战 + 开源框架应用
  • 合React宝宝体质的自定义防抖hook