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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值