oracle系统函数

1.Single-Row Functions

NVL
NVL2
NULLIF
COALESCE
CASE
DECODE

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

2.Character functions

LOWER(column|expression)  --小写
UPPER(column|expression)  --大写
INITCAP(column|expression) --首字母大写
CONCAT(column1|expression1,column2|expression2)  --字符串连接,相当于||
SUBSTR(column|expression,m[,n])  --取子串,m:第几位开始  n:取多少位
LENGTH(column|expression)  --返回字符串长度
INSTR(column|expression,’string’, [,m], [n] )  --返回指定字符串在查询字符串中的位置,m:第几位开始 n:第几个
LPAD(column|expression, n,'string')  --左补齐,长度为n,不够补string填
RPAD(column|expression, n,'string')  --右补齐,长度为n,不够补string填
TRIM(leading|trailing|both trim_character FROM trim_source)  --去首尾
REPLACE(text,search_string,replacement_string)  --替代 

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

3.Number Functions

ROUND(column|expression, n): (四舍五入)Rounds value to a specified decimal  (可以作用于日期)
TRUNC(column|expression, n): (直接截断)Truncates value to a specified decimal(可以作用于日期)
MOD(m,n): (求余)Returns remainder of division

abs(num)  --取绝对值
power     --幂次函数
sqrt      --开方函数
floor()      --直接截断函数(数值)
ceil()      --直接进位函数(数值)

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

4.Date functions

MONTHS_BETWEEN('01-SEP-95','11-JAN-94')  --计算两个日期间有多少个月
ADD_MONTHS (‘31-JAN-96',1)  --某个日期的多少个月以后
NEXT_DAY ('01-SEP-95','FRIDAY')  --下一个星期五的日期  1:星期天
LAST_DAY ('01-FEB-95')  --一个月的最后一天
ROUND(SYSDATE,'MONTH')  --从月截断(四舍五入)
TRUNC(SYSDATE ,'MONTH')  --从月截断(直接截断)

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

5.Explicit Data Type Conversion  --显示转换函数

 TO_CHAR(date, 'format_model')
  日期格式:
   YYYY   --四位数年份
   YEAR   --年份英文全拼
   MM   --两位数月份
   MONTH   --月份全拼
   MON   --月份简写
   DD   --两位数日期
   DAY   --星期几全拼
   DY   --星期几缩写
   AM or PM  --Meridian indicator
   A.M. or P.M.  --Meridian indicator with periods
   HH or HH12 or HH24 --Hour of day, or hour (1–12), or hour (0–23)
   MI   --Minute (0–59)
   SS   --Second (0–59)
   SSSSS   --Seconds past midnight (0–86399)
   TH   --Ordinal number (for example, DDTH for 4TH)
   SP   --Spelled-out number (for example, DDSP for FOUR)
   SPTH   --or THSP Spelled-out ordinal
 
 TO_NUMBER(char[, 'format_model'])

 TO_DATE(char[, 'format_model'])  --format_model(日期格式填写)

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

6.General functions: 

 NVL (expr1, expr2)   --如果expr1为空,返回expr2;否则返回expr1;expr1和expr2数据类型必须一致
 NVL2 (expr1, expr2, expr3)  --如果expr1为空,返回expr3;否则返回expr2;expr1、expr2、expr3未要求数据类型一致
 NULLIF (expr1, expr2)   --如果expr1=expr2,返回null;否则返回expr1
 COALESCE (expr1, expr2, ..., exprn) --返回列表中的第一个不为空的值

-------------------------------------------------------------------------------------------------------------------------------------------------
7.Conditional expressions:  --条件表达式

 CASE expr WHEN comparison_expr1 THEN return_expr1          --条件互斥(符合条件1后,之后的条件不运行)
    [WHEN comparison_expr2 THEN return_expr2
     WHEN comparison_exprn THEN return_exprn
     ELSE else_expr]
 END

 DECODE(expr,comparison_expr1,return_expr1,
  comparison_expr2,return_expr2,
  comparison_exprn,return_exprn,
  else_expr)
 END

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

8.types of group fonctions  --分组函数
    AVG()  --平均值(忽略空值);数值类型
    SUM()  --求和(忽略空值);数值类型
    COUNT()  --计数;*:包含空值;count(distinct col_name):不包含空值
    MAX()  --最大值
    MIN()  --最小值
    STDDEV()  --
    VARIANCE()  --

原文地址:https://www.cnblogs.com/sisier/p/4651813.html