ORACLE找出最大的数返回 GREATEST()函数
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()函数相关推荐
- JavaScript_找出数组下标并返回下标数
找出数组下标并返回下标数 代码演示: <script>var str = 'Hello world, Hello javascript.';var newArr = getChar(str ...
- 找出重复的数java_剑指offer:1.找出数组中重复的数(java版)
数组中重复的数: 题目:找出数组中重复的数, 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的. 也不知道每个数字重复几次.请找 ...
- ACMNO.33 C语言-最大值3 分别用函数和带参的宏,从三个数中找出最大的数。
题目描述 分别用函数和带参的宏,从三个数中找出最大的数. 输入 3个实数 输出 最大的数,输出两遍,先用函数,再用宏. 保留3位小数. 样例输入 1 2 3 样例输出 3.000 3.000 来源/分 ...
- 分别用函数和带参的宏,从三个数中找出最大的数。
题目描述 分别用函数和带参的宏,从三个数中找出最大的数. 输入 3个实数 输出 最大的数,输出两遍,先用函数,再用宏. 保留3位小数. 样例输入 1 2 3 样例输出 3.000 3.000 #inc ...
- C语言编程>第十一周 ② N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。
例题:N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点.请编写函数fun,它的功能是:找出学生的最高分,由函数返回. 请勿改动主函数main与其它函数中的任何内容,仅在函数f ...
- 水仙花数 java 1 100_Java练习题1:找出100——999数中的所有水仙花数
练习题:找出100--999种所有的水仙花数. 分析:水仙花数是指:一个三位数,其各位数字立方和等于该数本身.例如:370=33+73+00.这就说明370是一个水仙花数. 所以要判断一个三位数是不是 ...
- 有一个数组,内放10个整数,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换。
***知识点:数组与循环的灵活运用. 是不是第一次看到题就会产生疑惑,什么是下标?怎么找到数组中最小的值?而且还要和最前面的元素互换! 别着急,我们一步一步来分析: 数组的下标,比如在给定一个arra ...
- 1到n中减少了一个数,顺序被打乱,找出缺失的数
2013年的创新工场笔试考了:http://blog.csdn.net/huangxy10/article/details/8026464 而且应该还是一道经典的笔试面试题:http://fayaa. ...
- 6.给定自然数n,确定满足下述关系的最小的数s,s可表示为两对不同自然数n次方之和,找出最小的数s,使得: s=an + bn =cn + dn
题目要求如下: 分析如下: 1.定义一个链表,从大到小放入s,先行后列进行计算,然后再逐次插入链表,插入的过程中,与每个数做判断 2.若大于后一个数,小于前一个数则直接插入 3.直至出现相等的情况,则 ...
最新文章
- Linux 常用技巧记录
- MySQL的user表
- 信息系统项目管理师论文指导(1/3)
- linux mysql root登录_linux下 root 登录 MySQL 报错的问题
- android检查新版本,详解Android Studio无法检测新版本问题解决
- 【-】WebKit Layout (布局)
- 微信小程序 --- 页面跳转
- python长代码_Python 的长代码文件怎么组织
- wampserver橙色如何变成绿色_PLC视频教程:手机如何控制西门子变频器V20
- Facebook 发布 PyTorch Hub:一行代码实现经典模型调用!
- pytorch常见问题之cpu占满
- TCP客户端与服务器的实现
- windows计算器_计算Windows计算器中的错误
- 《剑指offer》重建二叉树的解法
- linux+极点五笔输入法,ubuntu 14.04 使用极点五笔输入法
- 美国阿肯色州闪电彩虹共享一片天空(组图)
- 微信QQ的二维码登录原理js代码解析
- 魔鬼与牧师——动作分离版
- 需求管理之相关方分析
- 国外媒体评出2010版杀毒软件排名