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

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()返回选择列表项目的标准偏差

相关文章:

  • C# 中泛型(Generics)‌的核心概念
  • C# 事件(Event)核心概念
  • JVM的垃圾回收器都有哪些?
  • 尚硅谷爬虫(解析_xpath的基本使用)笔记
  • 《算法笔记》9.2小节——数据结构专题(2)->二叉树的遍历 问题 A: 复原二叉树(同问题 C: 二叉树遍历)
  • 小程序电子画册制作,用户体验为王!
  • 【多线程】线程不安全问题
  • 每日学习Java之一万个为什么(待补充)
  • Web Component 教程(四):如何优雅的使用 template 模块
  • springboot集成xxl-job
  • 使用 libmodbus 实现 Modbus 通信
  • linux 出现网卡 down 没起来 怎么办 ? 已解决
  • C/C++编程:Openssl使用 Windows安装包32和64位 RSA加密/解密、AES-GCM加密/解密以及ECDSA签名/验证示例
  • C/C++蓝桥杯算法真题打卡(Day8)
  • 虚幻基础:组件组件通信
  • 一次http请求需要经过哪些步骤?
  • 【GPT入门】第26课 掌握langchain LCEL 链式调用的三种方法
  • Qt msvc程序运行
  • Vue3组合式函数(刷新率 useFps)
  • 搞定python之九----常用内置模块
  • 中信银行一季度净利195.09亿增1.66%,不良率持平
  • 中国人保聘任田耕为副总裁,此前为工行浙江省分行行长
  • 总有黑眼圈是因为“虚”吗?怎么睡才能改善?
  • 呼伦贝尔市委常委、组织部长闫轶圣调任内蒙古交通集团党委副书记
  • 药明康德一季度净利增长89%,在手订单增超四成至523亿元
  • 日本大米价格连续16周上涨,再创最高纪录