oracle 之 常用简单函数(ONE)

本文介绍了Oracle数据库中的常用函数,包括字符函数、数字函数和转换函数等,并通过实例演示了如何使用这些函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle 之 常用简单函数

  oracle中函数分为多行函数和单行函数,单行函数可以直接在plsql块中引用,但是多行函数只能在plsql块中的内嵌sql中引用。

   常用的单行函数有:字符函数、数字函数、转换函数、日期函数、正则表达式函数。

     一)字符函数

             1)ascii:把字符转换成ascii码值。

eg:

           

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

ASCII('A') ASCII('B')
---------- ----------
        65         98

SQL> 


            2)length(x):该函数用于返回x字符串的长度:

eg:

          

SQL> select length('RHYS') FROM DUAL;

LENGTH('RHYS')
--------------
             4

SQL> 


           3) concat(x,y):该函数用户把字符串y追加到字符串x之后:

eg:

SQL> select concat('Rhys','Learn Oracle!') from dual;

CONCAT('RHYS','LE
-----------------
RhysLearn Oracle!

SQL> 


          4)lower(x) && upper(x):该函数用于把字符串x由大小变为小写,另外upper(x):函数是把字符串x由小写便为大写显示:

eg:

SQL> select lower('RHYS') from dual;

LOWE
----
rhys

SQL> select upper('rhys') from dual;

UPPE
----
RHYS

SQL> 

          5)substr(x,y,z):该函数用于把字符串x按照从左到右y开始,然后截取z长度:

eg:

SQL> select substr('Hello Rhys Learn Oracle',6,4) from dual;

SUBS
----
 Rhy

SQL> 


           6)instr(x,find_string[,start][,occurrence]):该函数用户在字符串x中查找find_string字符,然后可以指定在x中的那个位置开始进行查找,也就是start位置,还可以指定查找find_string第occurrence出现的次数所在的位置。

eg:

SQL> select instr('hello rhys hello oracle','o',2,3) from dual;

INSTR('HELLORHYSHELLOORACLE','O',2,3)
-------------------------------------
                                   18

SQL> 


          7)initcap(x):该函数用于把字符串x中的所有单词的首字母全部大写:

eg:

SQL> select initcap('hello,oracle,hello,rhys') from dual;

INITCAP('HELLO,ORACLE,H
-----------------------
Hello,Oracle,Hello,Rhys

SQL> 

         8)replace (x,y,z):该函数用于在字符串中查找y,然后把y用z进行替换:

eg:

SQL> select replace('hello oracle,hello rhys','rhys','xiaohai
  2  ') from dual;

REPLACE('HELLOORACLE,HELLOR
---------------------------
hello oracle,hello xiaohai

SQL> 

         9)rpad(x,length,rpad_string):该函数用于对x进行右补齐,使其达到length的长度,默认的补齐方式为空格,另外还可以使用rpad_string字符进行补齐:

eg:

SQL> select rpad('Rhys',8) from dual;

RPAD('RH
--------
Rhys

SQL> select rpad('Rhys',8,'*') from dual;

RPAD('RH
--------
Rhys****

SQL> 

 

           二)数字函数:


         1)abs(x);该函数用于返回x的绝对值:

eg:

SQL> select abs(-20000) from dual;

ABS(-20000)
-----------
      20000

SQL>  

           2)mod(x,y):该函数用于返回x除以y的余数:

eg:

SQL> select mod(5,2) from dual;

  MOD(5,2)
----------
         1

SQL> 

        3)ceil(x):该函数用于返回大于或等于x的最小整数值:

eg:

SQL> select ceil(22.4) from dual;

CEIL(22.4)
----------
        23

SQL> 

        4)floor(x):该函数用于小于或等于x的最大整数值:

eg:

SQL> select floor(22.4) FROM DUAL;

FLOOR(22.4)
-----------
         22

SQL>

        5)power(x,y):该函数用于返回x的y此幂的值:

eg:

SQL> select power(2,3) from dual;

POWER(2,3)
----------
         8

SQL> 

        6)sqrt(x):该函数用户求x的平方根,x必须大于等于0

eg:

SQL> select sqrt(4) from dual;

   SQRT(4)
----------
         2

SQL> 

      7)round(x,【y】):求x的取整结果,如果指定y,那么说明在小数点的y处开始取整,如果y为负值,那么要在x的小数点向左y处取整。

eg:

 

SQL> select round(22.333,2) from dual;

ROUND(22.333,2)
---------------
          22.33

SQL> select round(22.333,-2) from dual;

ROUND(22.333,-2)
----------------
               0

SQL> select round (222.333,-2) from dual;

ROUND(222.333,-2)
-----------------
              200

SQL> select round(22.263,2) from dual;

ROUND(22.263,2)
---------------
          22.26

SQL> select round(22.263,1) from dual;

ROUND(22.263,1)
---------------
           22.3

SQL> 

        8)sign(x):该函数用于检测数值的正负,如果数值为零,那么它会为零,如果数值为负数,那么它会为-1,如果数值为正数,那么结果为1:

eg:

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

  SIGN(-2)    SIGN(0)    SIGN(2)
---------- ---------- ----------
        -1          0          1

SQL> 

        9)cos(x)求数值的余弦值

       10)acos(x)返回数字的反余弦值

         三)转换函数:

        1)to_char(x):把数字转换为字符串:

eg:

SQL> select ename,'this sal is '||to_char(sal) from emp;

ENAME      'THISSALIS'||TO_CHAR(SAL)
---------- ----------------------------------------------------
WARD       this sal is 1250
JONES      this sal is 2975
MARTIN     this sal is 1250
BLAKE      this sal is 2850
SCOTT      this sal is 3000
KING       this sal is 5000
TURNER     this sal is 1500
ADAMS      this sal is 1100
JAMES      this sal is 950
FORD       this sal is 3000
MILLER     this sal is 2222

11 rows selected.

SQL> 

      2)to_number(x)把字符串转换为数字:

eg:

SQL> select to_number('-$21,222.33','$99,999.99') from dual;

TO_NUMBER('-$21,222.33','$99,999.99')
-------------------------------------
                            -21222.33

SQL> 

      3)cast(x as type);该函数用于指定x为type兼容性的类型;

eg:

SQL> select cast('1234' AS VARCHAR2(20)) || 'hello' from dual;

CAST('1234'ASVARCHAR2(20)
-------------------------
1234hello

SQL> 

       4)asciistr(x):将任意字符串转换为数据库字符集的ASCII字符串

       5)bin_to_number(x):将二进制数字x转换为number类型。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值