Oracle 常用函数

Oracle 函数

    函数接受一个或多个参数并返回一个值。

单行函数

    也称标量函数,对于从表中查询的每一行,该函数都返回一个值。

    单行函数出现在 SLEECT / WHERE 子句中。

1、日期函数

    对日期值进行运算,根据用途产生日期/数值类型的结果。

ADD_MONTHS(d, n)    返回 指定日期加上月数后的 日期值

MONTHS_BETWEEN(d1, d2)    返回 两个日期间的 月数

LAST_DAY(d)        返回 指定日期当前的最后一天的 日期值

RONUD(d,[fmt])        返回 指定日期四舍五入格式(YEAR、MONTH、DAY)后的 日期值

NEXT_DAY(d,day)        返回 指定日期下一个星期几的 日期值

TRUNC(d,[fnt])        返回 指定日期截断为格式后的 日期值

EXTRACT(fmt FROM d)    返回 指定日期提取的格式的 值

2、字符函数

    字符函数接受字符输入,并返回字符或数值。

INITCAP(char)        首字母大写

LOWER(char)        转换为小写

UPPER(char)        转换为大写

LTRIM(char, set)    左裁切

RTRIM(char, set)    右裁切

TRANSLATE(char, from, to)        按字母翻译

REPLACE(char, search_str, replace_str)    字符串替换

INSTR(char, substr[,pos])        查找子串位置

SUBSTR(char, pos, len)            取子字符串

CONCAT(char1, char2)            连接字符串

CHR(ascii)        根据 ASCII 码返回对应字符串

LPAD / RPAD        左 / 右 填充

    LPAD ('function', 15 , '=') 返回    '=======function'

TRAM            开头或结尾(或 开头和结尾)裁剪特定的字符,默认裁剪空格。

    TRIM ([LEADING | TRAILING] trim_char)

LENGTH(char)        返回字符串长度

DECODE            逐个值进行字符串替换

    DECODE (expr, search1, result1, search2, result2, [ ,default])

    DECODE (ostalus, 'p', '准备处理', 'c', '已完成')

3、数字函数

    数字函数接受数字输入并返回数值作为输出结果。

ABS(n)        取绝对值

CEIL(n)        向上取值

FLOOR(n)    向下去整

SIN(n)        正弦值

COS(n)        余弦值

POWER(m, n)    指数函数

SQRT(n)        平方根

MOD(m, n)    取余

ROUND(m, n)    小数点后精度四舍五入

TRUNC(m, n)    小数点后精度截断

4、转换函数

    转换函数将一种数据类型转换为另一种数据类型。

TO_CHAR (d|n, [,fmt])        格式化 日期 / 数值

TO_DATE (char [,fmt])        将 fmt模型格式的字符串 转换为日期型

TO_NUMBER (char)        将 包含数字的的字符串转换为 数值型

5、其他函数

NVL (exp, exp2)        如果 exp 为空返回 exp2;如果非空返回 exp

NVL2 (exp, exp2, exp3)    如果 exp 为空返回 exp3;如果非空返回 exp2

NULLIF (exp1, exp2)    比较两表达式,相等返回空值,不等则返回 exp1

分组函数 / 聚合函数

    分组函数基于一组行返回结果,即为每一组行返回单个值。

AVG (columname)         返回指定列的平均值

MAX (columname)         返回指定列的最大值

MIN (columname)         返回指定列的最小值

SUM (columname)         返回指定列的总值

COUNT   

    COUNT (*)        统计所有行个数,包括重复行和空值得行

    COUNT (columname)    统计指定列非空值的个行数

    COUNT (DISTINCR columname)    统计指定列中 非重复,非空值得行个数   

GROUP BY 子句

    用于将信息表划分为组,对查询结果按组进行聚合运算,为每组返回一个结果。

HAVING 子句

    用来指定 GROUP BY 子句的检索条件。

分析函数

    分析函数根据一组行来计算聚合值。这些函数通常用来完成对聚集的累积排名、移动平均数和报表计算。

    分析函数与聚合函数不同的是他们为每组记录返回多个行。

ROW_NUMBER () OVER ([PARTITION BY colum] ORDER BY colum)

    为有序组中的每一行返回一个唯一的排序值,序号由 ORDER BY 子句指定,从 1 开始,即使具有相等的值,排位也不同。

    PARTITION BY colum 按列值进行区分,各分组内在进行排序。

RANK () OVER ([PARTITION BY colum] ORDER BY colum)

    计算一个值在一个组中的地位,由 1 开头,具有相等值得行排位相同,序数随后跳跃相应的数值。

DENSE_RANK () OVER ([PARTITION BY colum] ORDER BY colum)

    计算一个值在一个组中的地位,由 1 开头,具有相等值得行排位相同,并且排位是连续的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值