oracle常用单行函数

来源:互联网 发布:国外的军事网站 知乎 编辑:程序博客网 时间:2024/05/18 01:10

一、字符函数
    1、大小写处理函数
        1)LOWER:转换字符值为小写
        2)UPPER:转换字符值为大写
        3)INITCAP:转换每个单词的首字母值为大写,所有其它值为小写
    2、字符处理函数
        1)CONCAT:连接值在一起 (CONCAT 函数有两个输入参数),等价于连接运算符(||)
            CONCAT(column1|expression1,column2|expression2)
        2)SUBSTR:选取给定位置和长度的子字符串
            SUBSTR(column|expression,m[,n])
                 从字符返值中回指定的字符,开始位置在 m,n字符长度 (如果 m 是负数,计数从字符值末尾开始;如果 n 被忽略,返回到串结束的所有字符)
        3)LENGTH:以数字值显示一个字符串的长度
        4)INSTR:找到一个给定字符的数字位置
            INSTR(column|expression,‘string’, [,m], [n] )
                 返回一个命名串的数字位置。随意地,你可以提供一个位置m作为查找的开始,在字符串中第n次发现的位置。
            m和n的默认值是1,意味着在起始开始查找,并且报告第一个发现的位置。
        5)LPAD/RPAD:用给定的字符左填充字符串到给定的长度/用给定的字符右填充字符串到给定的长度
            LPAD(column|expression, n,'string')
   RPAD(column|expression, n,'string')
                 填充字符值左、右调节到n字符位置的总宽度
        6)TRIM:从一个字符串中去除头或尾的字符 (或头和尾) (如果 trim_character 或 trim_source 是一个文字字符,必须放在单引号中。)
                 TRIM([LEADING|TRAILING|BOTH][trimchar FROM] string)
            其中:LEADING 指明仅仅将字符串的前缀字符删除
                  TRAILING 指明仅仅将字符串的尾随字符删除
                  BOTH 指明既删除前缀字符,也删除尾随字符。这也是默认方式
                  string 任意一待处理字符串
                  trimchar 可选项。指明试图删除什么字符,默认被删除的字符是空格
        7)REPLACE:从字符串查找一个文本表达式,如果找到,用指定的置换串代替它

二、数字函数

函数含义输入输出Abs(n)得到n的绝对值Select abs(-15) from dual15Ceil(n)计算大于或等于n的最小整数值Select ceil(44.778) from dual45Cos(n)返回n的余弦值. n的单位是弧度Select cos(180) from dual-.5984601Cosh(n)计算n的双曲余弦值Select cosh(0) from dual1Floor(n)返回小于等于n的最大整数值Select floor(100.2) from dual100Power(m,n)计算m的n次幂Select power(4,2) from dual16Mod(m,n)返回m除以n的余数.如果n是0,则返回mSelect mod(10,3) from dual1Round(m,n)

计算保留到小数点右边n位的m值. n缺省设置为0,这会将m保留为最接近的整数.如果n小于0,保留到小数点左边相应的位. n必须是整数

Select round(100.256,2) from dual100.26Trunc(m,n)计算截尾到n位小数的m值. n缺省为0,结果变为一个整数值.如果n是一个负数,那么就截尾到小数点左边对应的位上Select trunc(100.256,2) from dual100.25Sqrt(n)返回n的平方根. n必须是正数Select sqrt(4) from dual2Sign(n)获得n的符号位标志.如果n<0返回-1.如果n=0返回0.如果n>0返回1Select sign(-30) from dual-1

 

三、日期函数
    1、oracle日期使用:
        RR格式与YY格式:简单的讲,RR 格式将日期中年的部分解释为从 1950 到 1999; YY 格式将日中年的部分解释为当前世纪 (2090)
      2、日期函数
        MONTHS_BETWEEN:两个日期之间的月数
        ADD_MONTHS:加日历月到日期
        NEXT_DAY:下个星期几是几号
        LAST_DAY:指定月的最后一天
        ROUND:四舍五入日期
        TRUNC:截断日期

四、转换函数
    1、显示数据类型转换
        常用的转换函数:TO_CHAR;TO_DATE;TO_NUMBER
      2、隐式数据类型转换
        在oracle中,在不同的数据类型之间关联,如果不显式转换数据,则它会根据以下规则对数据进行隐式转换
        简单总结:比较时,一般是字符型转换为数值型,字符型转换为日期型
                  算术运算时,一般把字符型转换为数值型,字符型转换为日期型
                  连接时(||),一般是把数值型转换为字符型,日期型转换为字符型
                  赋值、调用函数时,以定义的变量类型为准。

五、通用函数
    这些函数可用于任意数据类型,用来转换空值的函数
    1、NVL (expr1, expr2)    expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
    2、NVL2 (expr1, expr2, expr3)    expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
    3、NULLIF (expr1, expr2)    相等返回NULL,不等返回expr1
    4、COALESCE (expr1, expr2, ..., exprn)    列表中第一个非空的表达式是函数的返回值,如果所有的表达式都是空值,最终将返回一个空值。
    5、嵌套函数:单行函数能够被嵌套任意层次,嵌套函数的计算是从最里层到最外层
    6、条件表达式
        在 SQL 语句中提供 IF-THEN-ELSE 逻辑的使用
        • 两种用法:
            – CASE 表达式
            – DECODE 函数
        1) CASE 表达式:使得 IF-THEN-ELSE 条件判断容易实现
        2) DECODE 函数:使得 CASE 或者 IF-THEN-ELSE 条件判断容易实现: