ORACLE 内置函数之GREATEST和LEAST

Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESCE / GREATEST / LEAST.

1. COALESCE 返回该表达式列表的第一个非空value。

格式: COALESCE(value1, value2, value3, …)

含义: 返回value列表第一个非空的值。

value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。

EXAMPLE: select coalesce (1, null, 2 ) from dual ; — 返回1

select coalesce ( null, 2, 1 ) from dual ; — 返回2

select coalesce (t.empno, t.mgr ) from  scott.emp t ; — 效果类似 NVL( t.empno, t.mgr )

2. GREATEST 返回值列表中最大值

格式: GREATEST(value1, value2, value3, …)

含义: 返回value列表最大的值。

value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。

当value值列表中有一个为NULL,则返回NULL值。

EXAMPLE: select greatest (1, 3, 2 ) from dual ; — 返回3

select greatest ( ‘A’, ‘B’, ‘C’ ) from dual ; — 返回C

select greatest (null, ‘B’, ‘C’ ) from dual ; — 返回null

select greatest (t.empno, t.mgr ) from  scott.emp t ; — 返回empno和mgr 较大值

3. LEAST 返回值列表中最小值

格式: LEAST(value1, value2, value3, …)

含义: 返回value列表最小的值。

value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。

当value值列表中有一个为NULL,则返回NULL值。

EXAMPLE: select least (1, 3, 2 ) from dual ; — 返回1

select least ( ‘A’, ‘B’, ‘C’ ) from dual ; — 返回A

select least (null, ‘B’, ‘C’ ) from dual ; — 返回null

select least (t.empno, t.mgr ) from  scott.emp t ; — 返回empno和mgr 较小值

时间: 2024-08-05 12:33:53

ORACLE 内置函数之GREATEST和LEAST的相关文章

oracle 内置函数(一)数值函数

oracle内置函数主要分为四类: 数值函数 字符函数 日期函数 转换函数 本分析数值函数: 一.四舍五入round round(double,m) double:我们要处理的小数. m: default:在不填写的情况下默认为0,也就是取整: m>0:四舍五入小数点后m位: m<0:四舍五入小数点前m位. example: 二.取整 ceil:向上取整 floor:向下取整 三.常用计算 1.abs:取绝对值  2.mod:取余(除取模)任意参数为null返回null 3.power:幂函数

Oracle内置函数大全(转)

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> selec

Oracle 内置函数

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> selec

【转】oracle内置函数 trunc 使用

原文链接 http://blog.csdn.net/oscar999/article/details/16839417 前言 trunc 是 truncate 的简写. 中文翻译是 “截断”或 “截短”. 表面看上去,应该是对字串或是数字进行截取. 实际上这个函数有两种用法, 而且这两种用法看上去很不一样. 1. 对 number 类型使用.其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去. 2. 对日期类型使用. 对 number 类型使用

Oracle内置函数SQLCODE和SQLERRM的使用

在我们写proc程序中经常要有错误处理,在错误处理中我们经常要输出错误信息来给帮助我们分析和解决错误原因,从而更正数据.这时候就会用到SQLCODE和SQLERRM. SQLCode:数据库操作的返回码,其中0表示成功:-1表示失败:100表示没有检索到数据:+1表示用户自定义异常. sqlerrm函数 sqlerrm函数返回指定错误代码的错误信息. 一个Oracle的错误消息最多只能包含512个字节的错误代码.如果没有异常被触发,则SQLCODE返回0,SQLERRM返回"ORA-0000:n

oracle 内置函数(二)字符函数

主要函数: 大小写转换函数 获取子字符串函数(字符串截取) 获取字符串长度函数 字符串连接函数 去除子字符串函数 字符替换函数 一.大小写转换 1.upper:转大写 2.lower:转小写  3.initcap:首字母大写 二.获取子字符串函数(字符串截取) substr(str,beginIndex,endIndex) str:需要处理的字符串 beginIndex:开始截取下标位置,>0时从头部开始数下标,<0时从尾部数下标. endIndex:结束下标. 三.获取字符串的长度 leng

Oracle内置函数内容整理

--绝对值select abs(-100) from dual; --取余select mod(8,3) from dual; --取整,大于该数的最小整数(上限值)select ceil(12.0) from dual;select ceil(12.5) from dual; --取整,小于该数的最大整数(下限值)select floor(12.5) from dual; --四舍五入,选择需要保留的小数位select round(12.456,0) from dual; --截取小数,输入需

oracle 内置函数(三)日期函数

日期函数概要: 系统时间 日期操作 一.系统时间 sysdate:还是西方的格式,我们一般需要to_char(date,'yyyy-mm-dd hh24:mi:ss') next_day:当前日期的下一个礼拜几的日期 example:求当前时间的下一个礼拜一的日期: last_day(date):取当前时间的月的最后一天:用于判断当前月28.29.30.31天 months_between:求两个时间的月份差 extract:分别获取当前时间的年.月.日

Oracle内置函数

--数字型函数select abs (-100) from dual;--绝对值 select mod (10,3) from dual;--求模 select ceil (12.5) from dual;--取上限整数 select floor (12.5) from dual;--取下限整数 select round (12.46327,3) from dual;--四舍五入,逗号后数字表示精度 select trunc (12.455,1) from dual;--截取,逗号后数字表示精度