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. dede织梦调用顶级二级栏目及下三级栏目方法(数据库实现)
  2. ScalaPB(4): 通用跨系统protobuf数据,sbt设置
  3. 2021-05-08 docker save与docker export的镜像区别
  4. 计算机网络把许多什么连接在一起,计算机网络技术基础知识汇总习题
  5. vue获取编辑器纯文字_前端富文本编辑器 vue-html5-editor
  6. 关于操作系统中英文切换的.po和.mo介绍
  7. php表单数据写入txt文件_vba写入txt数据,发生数据丢失的奇怪现象
  8. C#中使用DLL文件
  9. python学了有什么用-让孩子学了Python编程有什么用
  10. win10 桌面的的文件都不见了 提示不注销保存都文件都为临时_Windows10隐藏的8个小技巧,每一个都非常实用又高效...
  11. win10下 vs2003搜索崩溃卡死问题解决方案
  12. 论文阅读 | Tackling Adversarial Examples in QA via Answer Sentence Selection
  13. 计算机学校特色,乐山市计算机学校:凝聚特色共成长 分享经验促提升
  14. 发热内衣的优势在哪里
  15. apache 的配置文件hthp.conf里边都是什么意思?
  16. IRQL深入解析(1)--IRQL级别
  17. 鼠标划过显示鼠标移出隐藏效果
  18. 网络分层(7层)以及每层的设备和协议
  19. html文件上传到云服务器,把html文件上传到云服务器上
  20. python--打印星星

热门文章

  1. nth-of-type和nth-child区别
  2. Oracle EBS WIP任务单批量发料功能开发
  3. msk 频偏_数字调制MSK探究
  4. 云原生之Linux命名空间和docker容器隔离
  5. 使用TeXpad iOS实现移动办公(一)
  6. 读《玺印篆刻赏析》有感
  7. 关于用户名登录的问题
  8. Shell编程-02-正则表达式
  9. leetcode - b 199场周赛(缺第四题)
  10. 第三章 卡尔曼滤波 笔记