• 内置函数


    数值函数:
        1、四舍五入函数round() from dual:一行一列组成
        select round(23.4) from dual;--默认不写m表示m为0
        select round(23.45,1) from dual;--1表示保留小数点后一位,那么是小数点的第二位四舍五入
        select round(23.45,-1) from dual;---1表示小数点前一位四舍五入取整,前一位是3四舍五入为20
        
        2、取整函数:
        select ceil(23.45),floor(23.45) from dual;
        
        3、常用计算:
        abs(n)绝对值函数:
            select abs(23.45),abs(-23),abs(0) from dual;
        mod(m,n):取余函数,如果m和n中有一个值为null值,则结果返回null值
            select mod(5,2) from dual;
            select mod(5,null) from dual;
        power(m,n):表示返回m的n次幂
            select power(2,3),power(null,2) from dual;
        sqrt(n):求平方根的函数
            select sqrt(16) from dual;
        4、三角函数:
        sin(n),asin(n):n代表弧度
        select sin(3.14) from dual;
        cos(n),acos(n);
        
    字符函数:
        1、大小写转换函数:upper(char),lower(char),initcap(char),把首字母转为大写
            select upper('abcde'),lower('ADe'),initcap('asd') from dual;
        2、获取子字符串函数:substr(char,[m[n]]),n如果省略代表从m截取到字符串的末尾
                m为0表示从字符串的首字母开始截取
                m为负数表示从字符串的尾部开始截取
            select substr('abcde',2,3);substr('abcde',2),substr('abcde',-2,1) from dual;
        3、获取字符串长度的函数:length(char)
            select length('abc ') from dual;
        4、字符串连接函数:concat(char1,char2);与||操作符的作用一样
            select concat('ab','cd') from dual;
            select 'ab' ||'cd' from dual;
        5、去除子串函数:trim(c2 from c1),c2是一个字符,c1是字符串
            select trim('c' from 'cdccec') from dual;--dcce,去除左右2边是c开始的字符
            select trim('c' from 'ccdd') from dual;--dd
            ltrim(c1[,c2]);c1是字符串,c2是字符,从头部去除一个字符
            rtrim(c1[,c2]):
            trim(c1):代表去除左右2边的空格
            ltrim(c1):只有一个参数的话代表去除左边的空格
            rtrim(c1):只有一个参数的话代表去除右边的空格
            
        7、替换函数replace()    
            select replace('abcde','a','A')from dual
            
            select replace('abcde','a')from dual;--替换为空格
            select replace('abcde','ab',A) from dual;
    日期函数:
        系统时间函数:SYSDATE  默认格式DD-MM-YY(日月年)
            ADD_MONTHS(date,i):select add_months(sysdate,3),add_months(sysdate,-3) from dual;
            NEXT_DAY(date,char):select next_day(sysdate,'星期一') from dual;
            LAST_DAY(char):select last_day(sysdate) from dual;
            MONTHS_BETWEEN(char1,char2):计算2个日期之间间隔的月份
            select months_between('20-5月-15''10-1月-15') from dual;
            
            
        日期操作函数:
            获取年份、月份、日期、小时
            提取指定日期部分的函数
            select extract(year from sysdate) from dual;
            select extract(month from sysdate) from dual;
            select extract(day from sysdate) from dual;
            select extract(hour from timestamp '2015-10-1 17:22:22') from dual;
    转换函数:
        日期转换为字符的函数
            TO_CHAR(date[,fmt[,params]]):date:将要转换的日期、fmt:转换的格式、params:日期的语言
            默认是DD-MM-YY
            select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;//默认最后一个参数不写
            
        字符转换为日期的函数
            TO_DATE(char[,fmt[,params]]):
            select to_date('2015-05-22','YYYY-MM-DD') FROM DUAL;
            //注意:to_date()按照系统默认的格式显示日期
        数字转换为字符的函数
            select to_char(12345.678,'$99,999.999') from dual;
            
        字符转换为数字的函数
            TO_NUMBER(char[parms]);
            select to_number('$1,000','$9999') from dual;

      SQL中的单记录函数

        1.ASCII返回与指定的字符对应的十进制数;

        SQL>select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;

        A        A     ZERO    SPACE

        --------- --------- --------- ---------

        65       97       48       32

        2.CHR给出整数,返回对应的字符;

        SQL>select chr(54740) zhao,chr(65) chr65 from dual;

        ZH C

        -- -

        赵 A

        3.CONCAT连接两个字符串;

        SQL>select concat('010-','88888888')||'转23' 高乾竞电话 from dual;

        高乾竞电话

        ----------------

        010-88888888转23

        4.INITCAP返回字符串并将字符串的第一个字母变为大写;

        SQL>select initcap('smith') upp from dual;

        UPP

        -----

        Smith

        5.INSTR(C1,C2,I,J)在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

        C1   被搜索的字符串

        C2   希望搜索的字符串

        I    搜索的开始位置,默认为1

        J    出现的位置,默认为1

        SQL>select instr('oracletraning','ra',1,2) instring from dual;

        INSTRING

        ---------

        9

        6.LENGTH返回字符串的长度;

        SQL>select name,length(name),addr,length(addr),sal,length(to_char(sal)) from .nchar_tst;

        NAME  LENGTH(NAME) ADDR            LENGTH(ADDR)      SAL LENGTH(TO_CHAR(SAL))

        ------ ------------ ---------------- ------------ --------- --------------------

        高乾竞           3 北京市海锭区               6  9999.99                   7

        7.LOWER返回字符串,并将所有的字符小写

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

        AABBCCDD

        --------

        aabbclearcase/" target="_blank" >ccdd

        8.UPPER返回字符串,并将所有的字符大写

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

        UPPER

        --------

        AABBCCDD

        9.RPAD和LPAD(粘贴字符)

        RPAD 在列的右边粘贴字符

        LPAD 在列的左边粘贴字符

        SQL>select lpad(rpad('gao',10,'*'),17,'*')from dual;

        LPAD(RPAD('GAO',1

        -----------------

        *******gao*******

        不够字符则用*来填满

        10.LTRIM和RTRIM

        LTRIM 删除左边出现的字符串

        RTRIM 删除右边出现的字符串

        SQL>select ltrim(rtrim('  gao qian jing  ',' '),' ') from dual;

        LTRIM(RTRIM('

        -------------

        gao qian jing

        11.SUBSTR(string,start,count)

        取子字符串,从start开始,取count个

        SQL>select substr('13088888888',3,8) from dual;

        SUBSTR('

        --------

        08888888

        12.REPLACE('string','s1','s2')

        string  希望被替换的字符或变量

        s1      被替换的字符串

        s2      要替换的字符串

        SQL>select replace('he love you','he','i') from dual;

        REPLACE('HELOVEYOU','HE','I')

        ------------------------------

        i love you

        13.SOUNDEX返回一个与给定的字符串读音相同的字符串

        SQL>create table table1(xm varchar(8));

        SQL>insert into table1 values('weather');

        SQL>insert into table1 values('wether');

        SQL>insert into table1 values('gao');

        SQL>select xm from table1 where soundex(xm)=soundex('weather');

        XM

        --------

        weather

        wether

        14.TRIM('s' from 'string')

        LEADING  剪掉前面的字符

        TRAILING 剪掉后面的字符

        如果不指定,默认为空格符

        15.ABS返回指定值的绝对值

        SQL>select abs(100),abs(-100) from dual;

        ABS(100) ABS(-100)

        --------- ---------

        100      100

        16.ACOS给出反余弦的值

        SQL>select acos(-1) from dual;

        ACOS(-1)

        ---------

        3.1415927

        17.ASIN给出反正弦的值

        SQL>select asin(0.5) from dual;

        ASIN(0.5)

        ---------

        .52359878

        18.ATAN返回一个数字的反正切值

        SQL>select atan(1) from dual;

        ATAN(1)

        ---------

        .78539816

        19.CEIL返回大于或等于给出数字的最小整数

        SQL>select ceil(3.1415927) from dual;

        CEIL(3.1415927)

        ---------------

        4

        20.COS返回一个给定数字的余弦

        SQL>select cos(-3.1415927) from dual;

        COS(-3.1415927)

        ---------------

        -1

        21.COSH返回一个数字反余弦值

        SQL>select cosh(20) from dual;

        COSH(20)

        ---------

        242582598

        22.EXP返回一个数字e的n次方根

        SQL>select exp(2),exp(1) from dual;

        EXP(2)   EXP(1)

        --------- ---------

        7.3890561 2.7182818

        23.FLOOR对给定的数字取整数

        SQL>select floor(2345.67) from dual;

        FLOOR(2345.67)

        --------------

        2345

        24.LN返回一个数字的对数值

        SQL>select ln(1),ln(2),ln(2.7182818) from dual;

        LN(1)    LN(2) LN(2.7182818)

        --------- --------- -------------

        0 .69314718    .99999999

        25.LOG(n1,n2)返回一个以n1为底n2的对数

        SQL>select log(2,1),log(2,4) from dual;

        LOG(2,1) LOG(2,4)

        --------- ---------

        0        2

  • 相关阅读:
    5G网络逐渐普及TSINGSEE青犀视频云边端架构网页视频实时互动直播系统又将如何发展?
    【开发记录】TSINGSEE青犀视频云边端架构Visual Studio 2017自建WebRTC中peerconnection_client编译报无法解析错误
    安防视频云服务平台EasyCVR视频智能分析系统运行控制台报404错误如何排查?
    一对一或一对多音视频通话会议系统可以通过哪些方式实现?
    TSINGSEE青犀视频云边端视频智能分析平台开发VMware下安装Ubuntu系统后无法安装VMwaretools问题解决
    最简单的Windows套接字(Socket)例子(源码,实例)
    KJAVA虚拟机Hack笔记实现MIDP的SLAVE事件模型
    系统程序员成长计划你的数据放在哪里(下)
    使用new实现realloc操作
    KJava虚拟机hack笔记基于GTK的移植
  • 原文地址:https://www.cnblogs.com/wenwen123/p/5592172.html
Copyright © 2020-2023  润新知