• Oracle 常用系统函数


      SQL语言是一种脚本语言,提供了大量的内置函数,使用这些函数可以大大增强SQL语句的运算和判断功能。

    一、字符类函数

      字符类函数是专门用于字符处理的函数,处理的对象可以是字符或字符串常量,也可以是字符类型的列,常用的字符类函数有以下几种:

      1、ASCII(c)函数和 CHR(i)函数

        ASCII(c) 函数用于返回一个字符的 ASCII码,其中参数 c 表示一个字符;

        CHR(i) 函数用户返回给出 ASCII 码值所对应的字符,i 表示一个 ASCII 码值。

    1 SQL > select   ascii('Z') Z,  ascii('H')  H  from dual;
    2 
    3        Z     H
    4     --------------
    5       90    72
    1  SQL > select   chr(90),chr(72)   from  dual;
    2  
    3    C            C
    4    -----------------
    5     Z            H

         说明:dual表是 Oracle 系统内部提供的一个用于实现临时数据计算的特殊表,也称名义表,它只有一个列 dummy,类型为varchar2(1).

      2Concat(s1,s2) 函数

        该函数将字符串 s2 连接到字符串 s1 的后面,如果 s1 为 null,则返回 s2;如果 s2 为null,则返回 s1; 如果 s1 和 s2 都为空,则返回null。

    SQL > select concat('hello ','World!')  from dual;
    
    concat
    ---------
    hello World!

      3、Initcap(s) 函数

        该函数将字符串 s 的每个单词的第一个字母大写,其他字母小写,单词之间用空格、控制字符、标点符号来区分。

    SQL > select initcap('hello world!') info from dual;
    
    info
    ---------
    Hello Wordl!

      4、Instr(s1,s2 [,i] [,j]) 函数

        该函数用户返回字符 s2 在字符 s1 中第 j 次出现的位置,搜索从字符串 s1 的第 i 个字符开始。当没有发现要查找的字符时,该函数返回值为 0 ;如果 i 为负数,那么搜索将从右到左进行,但函数的返回位置还是从左到右来计算。其中, s1 和 s2 均为字符串,i 和 j 均为正整数,默认值为1。

    SQL > select instr('hello world123','l',2,3) info  from dual;
    
     info
    ---------
      10
    

      在字符串“hello world123” 中,从第2个字符开始查询字符串 ‘l’ 第3次出现的位置。

      5、length(s) 函数

        该函数用于返回字符串 s 的长度,如果 s 为null,则返回值 null。

    SQL > select length('hello world') info  from dual;
    
      info 
    -------
      11

      6、Lower(s)函数和 Upper(s)

        Lower 该函数用于返回字符串的小写形式;Upper 该函数用于返回字符串的大写形式。

    SQL > select lower('HELLO') info1, upper('hello') into2  from dual;
    
      info1     info2 
    -------------------
      hello      HELLO

      7、Ltrim(s1,s2) 函数、Rtrim(s1,s2) 和 Trim(s1,s2) 函数

        Ltrim 该函数用于删除字符串 s1 左边的字符串 s2;Rtrim 函数用于删除字符串 s1 右边的字符串 s2, Trim 函数用于删除字符串 s1 左右两端字符串 s2。

        如果在这个3个函数中不知道字符串 s2 ,则表示去除相应方位的空格。

    SQL > select ltrim('-----hello','-') info1,ltrim('    hello') info2  from dual;
    info1 info2
    ------------------
       hello hello

      8、Replace(s1,s2[ ,s3]) 函数

        该函数使用 s3 字符串替换出现 s1  字符串中的所有 s2 字符串,并返回替换后的新字符串,其中,s3 的默认值为空字符串。

    SQL > select replace('good luck!','o','l') info  from dual;
    
         info
     ----------
       glld  luck

      9、Substr(s,i,[ j ]) 函数

        该函数表示从字符串 s 的第 i 个位置开始截取长度为 j 的子字符串。如果省略参数 j ,则直接截取到尾部,其中,i 和 j  为正整数。

    SQL > select substr('hello',2,2) info1,substr('hello',2) info2  from dual;
    
      info1     info2
    ------------------
       el       ello

    二、数字类函数

      数字类函数主要用于执行各种数据计算,所有的数字类函数都有数字参数并返回数字值。 Oracle 系统提供了大量的数字类函数,这些函数大大增强了 Oracle 系统的科学计算能力。

      常用的数字类函数:

    函数 说明
    ABS(n)  返回 n de 绝对值
    Ceil(n) 返回大于或等于数值 n  的最下整数
    cos(n) 返回 n 的余弦值,n 为弧度
    exp(n) 返回 e 的 n 次幂,e= 2.71828183
    florr(n) 返回小于或等于 n 的最大整数
    log(n1,n2) 返回以 n1 除以 n2 的对数
    mod(n1,n2) 返回 n1 除以 n2 的余数
    power(n1,n2) 返回 n1 的 n2 次方
    round(n1,n2)

    返回舍如小数点右边 n2 位的 n1 的值,n2 的默认值为0,会返回小数点最接近的整数。

    如果n2 为负数,就舍入到小数点左边相应的位上,n2 必须是整数

    sign(n) 若 n 为负数,则返回-1,若 n 为整数,则返回 1, 若 n = 0,则返回0
    sin(n) 返回 n的正弦值,n 为弧度
    sqrt(n) 返回 n的平方根
    trunc(n1,n2)

    返回结尾到 n2 位小数的 n1的值,n2 默认设置为 0 ,

    当 n2 为默认设置时,会将 n1 截尾为整数,如果 n2 为负值,就截尾在小数点左边相应的位上

      1、Ceil(n) 函数

        该函数返回大于或等于数值 n 的最小整数,常用于一些比较运算。

    SQL > select ceil(8.3) info1,ceil(-5.6)  info2,ceil(8.6) info3  from dual;
    
     info1   info2  info3
    -----------------------
       8       -5        9

      2、Round(n1,n2) 函数

        该函数返回舍入小数点右边 n2 位的 n1 的值,n2 的默认值为 0,这会返回小数点最接近的整数。如果 n2 为负数,就舍入到小数点左边相应的位上,n2 必须是整数。

    SQL > select round(3.14159,2) info1, round(343.14159,-1) into2  from dual;
    
     info1     info2
    ---------------------
      3.14      340

      3、Power(n1,n2) 函数

        该函数返回 n1 的 n2 次方,其中 n1 和 n2 都为整数。

    SQL > select power(2,4) info  from dual;
      
      info
    -------
       16

    三、日期和时间类函数

      Oracle 系统提供了许多用于处理日期和时间的函数,通过这下函数可以实现计算需要的特定的日期和时间,常用函数如下:

        

    函   数 说  明
    add_month(d,i) 返回日期 d 驾驶 i 个月之后的结果,i 为任意整数
    last_day(d) 返回包含日期 d 月份的最后一天
    months_between(d1,d2)

    返回 d1 和 d2 之间的数目,若 d1 和 d2 的日期都相同,或者都是该月的最后一天,

    则返回一个整数,否则返回的结果将包含一个小数

    new_time(d1,t1,t2)

    其中,d1 是一个日期数据类型,当时区 t1 中的日期和时间是 d1时,返回市区 t2 中的日期

    和时间。t1 和 t2 是字符串。

    sysdate() 返回系统当前的日期

       注意:日期默认的格式是 “DD-MON-YY”,其中 “DD” 表示两位数字的 “日”,MON 表示3位数的字的“月份”,“YY”表示两位数字的“年份”。例如:“01-10月-11”表示2011年10月1日。

      1、sysdate()函数

        该函数返回系统当前的日期。

    SQL > select sysdate as  系统日期 from dual;
    
      系统日期
    -----------
     30-5月-19

      2、add_months(d,i) 函数

        该函数返回日期 d 加上 i 个月之后的结果。其中,i 为任意整数。

    SQL > select add_months(sysdate,6) info from dual;
    
       info
    -----------
     30-11月-19

    四、转换函数

      在操作表中的数据时,经常需要将某个数据从一种类型转换为另外一种数据类型,这时需要转换类型函数。常用的转换函数如下:

        

    函  数 说   明
    chartorwida(s) 该函数将字符串 s 转换为 rwid 数据类型
    convert(s,aset [,bset]) 该函数将字符串 s 由 bset 字符集转换为 aset 字符集
    rowidtochar() 该函数将 rowid 数据类型转换为 char 类型
    to_char(x[,format]) 该函数实现将表达式转换为字符串,format 表示字符串格式
    to_date(s [,format[lan]]) 该函数将字符串 s 转换成 date 类型,formate 表示字符串格式,lan 表示所使用的语言
    to_number(s [,format[lan]])

    该函数将返回字符串 s 代表的数字,返回值按照 format 格式进行显示,format 表示字符串

    格式,lan 表示所使用的语言

      1、to_char(x [,format]) 函数

        该函数实现将表达式转换为字符串,format 表示字符串格式

    SQL > select sysdate as  默认格式日期,to_char(sysdate,'YYYY-MM-DD') as 转换后日期 from dual;
    
      默认格式日期       转换后日期     
    ---------------------------------
       30-5月-19       2019-05-30

      2、to_number(s [,format[lan]]) 函数

        该函数将返回字符串 s 代表的数字,返回值按照 format  格式进行显示, format 表示字符串格式,lan 表示所使用的语言。

    SQL > select to_number('18','xxx') as  十进制数  from dual;
    
      十进制数
    -------------
       24

    五、聚合类函数

      使用聚合类函数可以针对一组数据进行计算,并得到相应的结果。下面是常用的聚合函数:

    函数 说明
    avg(x[ distinct | all ]) 计算选择列表项的平均值,列表项目可以是一个列或多个列的表达式
    count(x[ distinct | all ]) 返回查询结果中的记录数
    max(x[ distinct | all ]) 返回选择列表项目中的最大数,列表项目可以是一个列或多个列的表达式
    min(x[ distinct | all ]) 返回选择列表项目中的最小数,列表项目可以是一个列或多个列的表达式
    sum(x[ distinct | all ]) 返回选择列表项目中的数值总和,列表项目可以是一个列或多个列的表达式
    variance(x[ distinct | all ]) 返回选择列表项目中的统计方差,列表项目可以是一个列或多个列的表达式
    stddev(x[ distinct | all ]) 返回选择列表项目中的标准偏差,列表项目可以是一个列或多个列的表达式

    六、其他函数

  • 相关阅读:
    async/await 的基础使用及原理简介
    ES6---new Promise()使用方法
    JS中三个点(...)是什么鬼?
    export与export default的区别
    原生页面和H5页面的优劣势分析
    原生页面与H5页面区别
    3月9日学习日志
    3月8日学习日志
    3月5日学习日志
    3月4日学习日志
  • 原文地址:https://www.cnblogs.com/niujifei/p/10924155.html
Copyright © 2020-2023  润新知