zoukankan      html  css  js  c++  java
  • oracle的内置函数

    1数值型函数:
        1.1绝对值、取余、判断数值正负函数
            1)ABS(n) 函数。用于返回绝对值。该参数输入一个参数,参数类型为数值型,加入参数为可以隐式转换为数值类型,也可以
            例:select ABS(100),ABS(-100),ABS('100') FROM DUAL;
            2)MOD(n2,n1)函数。该函数表示返回n2/n1的余数。参数为任意数值或可以隐式转换为数值的类型。
            例:select MOD(5,2),MOD(8/3,5),MOD('10',5),MOD(-10,6),MOD(1,0) FROM DUAL;
            3)SIAN(N)函数。返回参数n的符号,正数返回1,0返回0,负数返回-1.但如果n为BINARY_FLOAT或FINARY_DOUBLE类型时,n>=0
            或者n=NaN函数会返回1.
            例:select sign('9'),sign(-9),sign(0.00),sign(-2*'9') from dual;
        1.2三角函数:
            cos(n):返回参数n的余弦,n为弧度表示的角度:
            例:select cos(3.1415926),cos('3.1415926') from dual;
            acos(n):返回n的反余弦值
            cosh(n):返回n的双曲余弦值
            sin(n):返回n的正弦值
            asin(n):返回n的反正弦值
            tan(n):返回n的正切值
            tanh(n):返回n的双曲正切值
            atan(n):返回n的反正切值
        1.3返回以指定数值为准整数的函数
            CELL(n)函数。返回大于等于输入参数的最小整数。
            例:select cell(10),cell('10.5'),cell(-10.2) from dual;
            FLOOR(N):返回结果是小于或等于参数的最大整数。
            例:select floor(10),floor('10.5'),floor(-10.2) from dual;
        1.4指数,对数函数
            sqrt(n):函数。该函数返回n的平方根。n不能为负数,为浮点数时返回nan。
            例:select sort(100),sqrt('53.9') from dual;
            power(n2,n1):利用该函数可以得到n2的n1次幂的结果。n2为负数,则n1必须为整数。
            log(n1,n2)函数。利用该函数可以返回以n1为底n2的对数。n1是除1和0以外的任意正数。
            例:select log(10.100),log(10.5,'100'),power(10,2) from dual;
        1.5四舍五入截取函数
            round(n,integer)函数。它将数值n四舍五入成第二个参数指定的形式的十进制数。
            例:select round(100.23456,4),round(100.23456,2.56),round(155.23456,-2) from dual;
            结果:            100.2345            100.23                200
            trunc(n,integer) 函数。它把数值n根据integer的值进行截取
            例:select trunc(100.23456,4)trunc(100.23456,2.56),trunc(155.23456,-2),trunc(155.234546) from dual;
            结果:            100.2345              100.23                100                155
            
    2.字符型函数:
        2.1 ASCII码与字符转换函数
        CHR(n[USING NCHAR_CS])函数。根据指定的字符集,将给定的ASCII码转换为字符。
        例:select CHR(65) || CHR(66) || CHR(67) ABC,CHR(54678) FROM DUAL;
        结果:                ABC                         諙 
        2.2 获取字符串长度函数
        length(char) :获取到指定字符串的长度
        例: select length('abcde我fghi') from dual;
        结果:                10
        2.3 字符串截取函数
        substr(char,position,substring_length) :    char:原始字符串,
                                                    position:截取开始位置,初始为1,负数从右边算起,
                                                    substring_length:截取的长度
        例:select substr('abcde我fghi',5,2),substr('abcde我fghi',5,2) from dual;
        结果:                    e我                            我f
        2.4 字符串连接函数
        concat(char1,char2)     或者是     || 
        select concat('我爱你','中国'), '山有木兮' || '木有枝' from dual;
        结果:            我爱你中国            山有木兮木有枝
        2.5 字符串搜索函数:在一个指定字符串中搜索是否存在另一个字符串。
        instr(string,subString,position[,occurrence])
        例:select instr('this is a 测试!',''),instr('this is a 测试!','s',-1) from dual;
        2.6 字母大小写转换函数
        upper(char):参数转换成大写
        lower(char):参数转换成小写
        initcap(char):首字母转换成大写
        2.7 带排序参数的字母大小写转换参数
        nls_initcap(char[,nlsparam]),将指定参数的第一个字母转换成大写。
        nls_upper(char[,nlsparam])将指定参数变为大写。
        nls_lower(char[,nlsparam]) 将指定参数转换为小写。
        2.8 指定参数排序函数
        nlssort(char[,nlsparam])函数,根据nlsparam指定的方式对char进行排序。
        2.9 替换字符串函数
        replace(char,search_string,replacement_string):替换char中的search_string为replacement_string;
        例:select replace('this is a test','tes','resul') from dual;
        2.10 字符串填充函数
        rpad('字符串',n,'要填充的字符串'):在字符串右边填充字符到指定长度n
        lpad('字符串',n,'要填充的字符串'):在字符串左边填充字符到指定长度n
        2.11 删除字符串首位指定字符的函数
        trim():删除指定的前缀或尾随的字符,默认删除空格
        2.12字符集名称和ID互换函数
        nls_charset_id(string):根据字符集名称得到对应ID
        nls_charset_name(number):根据字符集ID得到对应的名字
        
    3.日期型函数
        3.1系统日期,时间函数
        SYSDATE函数。得到当前系统的日期
        例:select TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
        SYSTIMESTAMP函数。返回系统时间。
        例:select systimestamp from dual;
        3.2得到数据库时区函数
        dbtimezone函数:返回数据库时区
        3.3为日期加上指定月份函数
        add_months(date,integer):指定日期data加一个integer月份数,负数表示减去的月份数
        3.4返回指定月份最后一天的函数
        next_day(date)函数
        3.5返回指定日期后一周的日期函数
        next_day(date,char)函数;
        3.6返回回话所在时区当前日期函数
        current_date函数;
        3.7提取指定日期特定部分的函数
        EXTRACT函数:从指定的时间当中提取到指定的日期部分。
        例:select extract(year from sysdate) year from dual;
        3.8得到两个日期之间的月份数
        months_between(date1,date2)函数。返回两个时间月份的差值:
        3.9时区时间转换函数
        new_time(date,temezone1,timezone2)函数。该函数将返回时间date在时区timezone1转换到时区timezone2的时间。
        3.10日期四舍五入,截取函数
        round(date,fmt)函数。将函数date舍入到fmt指定的形式。如果参数fmt被省略,则date将被处理到最近的一天。
        例:select to_char(round(to_date('2010-5-1 21:00:00','YYYY-MM-DD HH24:MI:SS')),'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
        TRUNC(DATE,FMT)函数,该函数将date截取到fmt指定的形式,如果fmt省略,则截取到最近的日期。
    
    4.转换函数
        4.1字符串转ASCII类型字符串函数
        ASCII(char)函数。
        例:select ASCIISTR('这是测试') FROM DUAL;
        4.2二进制转十进制函数
        bin_to_num(data[,data...])函数,该函数可以将二进制转化成对应的十进制。data表示二进制数,一位用‘,’隔开
        例:select bin_to_num(1,1,0) from dual;
        4.3数据类型转换函数
        cast(expr as type_name)函数。将expr参数转换成type_name类型c,多用于数字与字符,字符与日期之间的转换。
        4.4字符串和ROWID相互转换函数
        chartorowid(char)函数。该函数将字符串类型转换成rowid类型。
        ROWIDTOCHAR(rowid)函数,将行记录的rowid转换成字符串。
        ROWIDTONCHAR(rowid)函数,将rowid转换晨成varchar2类型。
        4.5字符串在字符串间转换函数
        convert函数:用于把字符串从一个字符集转到另一个字符集。
        4.6十六进制字符串与RAW类型相互转换函数
        HEXTORAW(char)函数。把十六进制的字符串转换成raw类型的数据
        RAWTOHEX(raw):把raw类型表示成一个由十六进制字符标识的串,返回varchar2类型。
        4.7数值转换成字符型函数
        TO_CHAR(number):将一个数值型参数转换成一个字符型数据。
        TO_CHAR(date):把一个日期型数据转换成一个字符型数据。
        4.8字符转日期型函数
        TO_DATE(char[,fmt[,nlsparam]])函数:将字符型函数转成日期型数据。
        例:select TO_DATE('2018-8-9','YYYY-MM-DD','MONTH') FROM DUAL;
        结果:                    7月
        4.9字符型转数字函数
        TO_NUMBER(expr[,fmt[,nlsparam]])函数:将字符串转换成数字
        4.10全角转半角函数
        TO_SINCLE_BYTE(char)函数。将全角转换成半角。
        
    5.NULL函数
        5.1返回表达式为null的函数
        coalesce(expr)函数:返回列表中第一个不为null的表达式。如果都为null,则返回一个null。
        5.2排除指定条件函数
        lnnvl(condition)函数:该函数可以得到除了condition要求条件之外的数据,包括null的条件,
        例:select * from productinfo where lnnvl(quantity>=70);
        5.3替换null值函数
        nvl(exprl,expr2)函数:如果exprl是null,就替换成expr2的值,否则返回expr1的值。
        nvl2(expr1,expr2,expr3)函数:如果expr1是null,就返回expr3的值,当expr1不为空时,则返回expr2的值。
        
    6.集合函数
        6.1求平均值函数
        AVG([distinctlall]expr)函数,求取指定列的平均值。
            distinct:去除重复的值。
            all:所有值
            expr:表达式,只能是数值类型
        例:select avg(all productprice+100) from productinfo;
        6.2求记录数量函数
        count(*|[distinct][all]expr)函数。该函数可以用来计算记录的数量或某列的个数。指定列名,或*表示全选。
            *:计算所有记录
            distinct:去重
            all:所有的
            expr:要计算的对象,通常是表的列
        例:select count(dixtinct productprice) from productinfo where productprice < 3000;
        6.3返回最大最小值函数
        MAX([distinct|a]expr)函数。返回指定列中的最大值
        例:select * from productinfo where productrice=(select max(productprice) from productinfo);
        MIN([distincr|all]expr)函数。返回指定列中的最小值
        6.4求和函数
        sum([distincr|all]expr)函数。该函数不同于count,它分组计算指定列的和。不使用分组,则默认整个表为一组。
        例:select sum(all quantity),category from productinfo group by category;
        
    7.其他函数:
        7.1返回登录名函数
        user函数:返回当前会话的登录名
        select user from dual;
        7.2返回回话以及上下文信息函数
        userenv(paraameter)函数:返回当前回话的信息。
        例:select userenv("isdba") from dual ;
        sys_context(namespace,parameter)函数:得到oracle已经创建的context,名为userenv的属性对应值。
        例:select sys_context('userenv','session_user') session_user from dual;
        7.3表达式匹配函数
        decode(expr,search,result[,search1,result][,default])函数:当expr符合条件search时就返回result的值,类似swith-cash
        例:select productname,quantity,decode(sign(quantity-100),1,'充足',-1,'不足',0,'不足') from productinfo;
    
        
        
  • 相关阅读:
    Atitit 图像金字塔原理与概率 attilax的理解总结qb23
    Atitit.软件中见算法 程序设计五大种类算法
    百度之星
    linux下编程IDE环境
    c++多态的实现 VC++消息映射的实现
    static_cast, const_cast,dynamic_cast和reinterpret_cast
    X Window研究笔记(1)~22
    关于串口发送短信
    模式识别中的核方法
    IC设计,verilog学习链接
  • 原文地址:https://www.cnblogs.com/anningkang/p/9452955.html
Copyright © 2011-2022 走看看