1. 语法

GREATEST(expr_1, expr_2, ...expr_n)

2.说明

GREATEST(expr_1, expr_2, ...expr_n)函数从表达式(列、常量、计算值)expr_1, expr_2, ... expr_n等中找出最大的数返回。在比较时,OracIe会自动按表达式的数据类型进行比较,以expr_1的数据类型为准。

3.允许使用的位置

过程性语句和SQL语句。

4. 示例

4.1 示例一【数值】

expr_1为数值型。按大小进行比较。

全部为数值型,取出最大值为16:

SELECT GREATEST(2, 5, 12, 3, 16, 8, 9) A FROM DUAL;
--16

部分为数值型,但是字符串可以根据expr_1的数据类型通过隐式类型转换转成数值型:

SELECT GREATEST(2, '5', 12, 3, 16, 8, 9) A FROM DUAL;
--16

部分为数值型,但是字符串不能通过隐式类型转换成数值型会报错,因为字符串A不能转换成数值型:

SELECT GREATEST(2, 'A', 12, 3, 16, 8, 9) A FROM DUAL;
--ORA01722:无效数字

4.2 示例二【字符串】

expr_1为字符型。按首字母进行比较(如果相等则向下比较)

全部为字符型,取出最大值G:

SELECT GREATEST('A', 'B', 'C', 'D', 'E', 'F','G') A FROM DUAL;
--G

全部为字符型,首字母相等:

SELECT GREATEST('A', 'B', 'C', 'D', 'E','GA', 'GAB') A FROM DUAL;
--GAB

部分为字符型,会把非字符型转换成字符型:

SELECT GREATEST('A', 6, 7, 5000, 'E', 'F','G') A FROM DUAL;
--G

4.3 示例三【时间】

expr_1为时间类型。

全部为时间类型:

SELECT GREATEST(sysdate, TO_DATE('2014-08-01', 'YYYY-MM-DD')) A FROM DUAL;
--2022/1/5 13:04:17

部分为时间类型,不能进行隐式类型转换:

SELECT GREATEST(sysdate, '2014-08-01') A FROM DUAL;
--ORA-01861:文字与格式字符串不匹配

4.4 示例四【空值】

使用GREATEST取最大值的时候,当expr为函数的时候,不可避免的会产生空值。产生空值,函数GREATEST会怎么进行处理那:

SELECT GREATEST(NULL, 'B', 'C', 'D', 'E','GA', 'GAB') A FROM DUAL;
--空值NULL

expr_1不为NULL时,其它的expr为NULL时:

SELECT GREATEST('A', 'B', 'C', 'D', 'E',NULL, 'GAB') A FROM DUAL;
--空值NULL

由上可以发现,只要GREATEST的expr有一个为NULL,都会返回NULL。

ORACLE找出最大的数返回 GREATEST()函数相关推荐

  1. JavaScript_找出数组下标并返回下标数

    找出数组下标并返回下标数 代码演示: <script>var str = 'Hello world, Hello javascript.';var newArr = getChar(str ...

  2. 找出重复的数java_剑指offer:1.找出数组中重复的数(java版)

    数组中重复的数: 题目:找出数组中重复的数, 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的. 也不知道每个数字重复几次.请找 ...

  3. ACMNO.33 C语言-最大值3 分别用函数和带参的宏,从三个数中找出最大的数。

    题目描述 分别用函数和带参的宏,从三个数中找出最大的数. 输入 3个实数 输出 最大的数,输出两遍,先用函数,再用宏. 保留3位小数. 样例输入 1 2 3 样例输出 3.000 3.000 来源/分 ...

  4. 分别用函数和带参的宏,从三个数中找出最大的数。

    题目描述 分别用函数和带参的宏,从三个数中找出最大的数. 输入 3个实数 输出 最大的数,输出两遍,先用函数,再用宏. 保留3位小数. 样例输入 1 2 3 样例输出 3.000 3.000 #inc ...

  5. C语言编程>第十一周 ② N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。

    例题:N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点.请编写函数fun,它的功能是:找出学生的最高分,由函数返回. 请勿改动主函数main与其它函数中的任何内容,仅在函数f ...

  6. 水仙花数 java 1 100_Java练习题1:找出100——999数中的所有水仙花数

    练习题:找出100--999种所有的水仙花数. 分析:水仙花数是指:一个三位数,其各位数字立方和等于该数本身.例如:370=33+73+00.这就说明370是一个水仙花数. 所以要判断一个三位数是不是 ...

  7. 有一个数组,内放10个整数,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换。

    ***知识点:数组与循环的灵活运用. 是不是第一次看到题就会产生疑惑,什么是下标?怎么找到数组中最小的值?而且还要和最前面的元素互换! 别着急,我们一步一步来分析: 数组的下标,比如在给定一个arra ...

  8. 1到n中减少了一个数,顺序被打乱,找出缺失的数

    2013年的创新工场笔试考了:http://blog.csdn.net/huangxy10/article/details/8026464 而且应该还是一道经典的笔试面试题:http://fayaa. ...

  9. 6.给定自然数n,确定满足下述关系的最小的数s,s可表示为两对不同自然数n次方之和,找出最小的数s,使得: s=an + bn =cn + dn

    题目要求如下: 分析如下: 1.定义一个链表,从大到小放入s,先行后列进行计算,然后再逐次插入链表,插入的过程中,与每个数做判断 2.若大于后一个数,小于前一个数则直接插入 3.直至出现相等的情况,则 ...

最新文章

  1. Linux 常用技巧记录
  2. MySQL的user表
  3. 信息系统项目管理师论文指导(1/3)
  4. linux mysql root登录_linux下 root 登录 MySQL 报错的问题
  5. android检查新版本,详解Android Studio无法检测新版本问题解决
  6. 【-】WebKit Layout (布局)
  7. 微信小程序 --- 页面跳转
  8. python长代码_Python 的长代码文件怎么组织
  9. wampserver橙色如何变成绿色_PLC视频教程:手机如何控制西门子变频器V20
  10. Facebook 发布 PyTorch Hub:一行代码实现经典模型调用!
  11. pytorch常见问题之cpu占满
  12. TCP客户端与服务器的实现
  13. windows计算器_计算Windows计算器中的错误
  14. 《剑指offer》重建二叉树的解法
  15. linux+极点五笔输入法,ubuntu 14.04 使用极点五笔输入法
  16. 美国阿肯色州闪电彩虹共享一片天空(组图)
  17. 微信QQ的二维码登录原理js代码解析
  18. 魔鬼与牧师——动作分离版
  19. 需求管理之相关方分析
  20. 国外媒体评出2010版杀毒软件排名

热门文章

  1. 还在单细胞测序?单核更出色
  2. 窥探Flutter的前世今身
  3. 付宇泽20190919-3 效能分析
  4. 相对论【3】洛伦兹速度变换和婓索实验
  5. webpack2.0+ vue2.0
  6. Windows 平台下AMD 显卡加速pytorch训练
  7. 文献分享:个体化治疗中新抗原的识别鉴定 Identification of neoantigens for individualed therapeutic cancer vaccines
  8. Docker File
  9. socket编程实现SMTP邮件客户端
  10. Windows WiFi 热点共享 debug Android