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:
SQL>SELECT GREATEST(2, 5, 12, 3, 16, 8, 9) A FROM DUAL;
A
----------
16
部分为数值型,可是字符串能够依据expr_1的数据类型通过隐式类型转换转成数值型:
SQL>SELECT GREATEST(2, '5', 12, 3, 16, 8, 9) A FROM DUAL;
A
----------
16
部分为数值型,可是字符串不能通过隐式类型转换成数值型会报错,由于字符串A不能转换成数值型:
SQL>SELECT GREATEST(2, 'A', 12, 3, 16, 8, 9) A FROM DUAL;
SELECTGREATEST(2, 'A', 12, 3, 16, 8, 9) A FROM DUAL
ORA-01722:
无效数字
4.2 演示样例二【字符串】
expr_1为字符型。
按首字母进行比較(假设相等则向下比較)
所有为字符型,取出最大值G:
SQL>
SELECT GREATEST('A', 'B', 'C', 'D', 'E', 'F','G') A FROM DUAL;
A
-
G
所有为字符型,首字母相等:
SQL>
SELECT GREATEST('A', 'B', 'C', 'D', 'E','GA', 'GAB') A FROM DUAL;
A
---
GAB
部分为字符型,会把非字符型转换成字符型:
SQL>
SELECT GREATEST('A', 6, 7, 5000, 'E', 'F','G') A FROM DUAL;
A
-
G
4.3 演示样例三【时间】
expr_1为时间类型。
所有为时间类型:
SQL>
SELECTGREATEST(sysdate,TO_DATE('2014-08-01','YYYY-MM-DD')) A FROM DUAL;
A
-----------
2014/8/1
部分为时间类型,不能进行隐式类型转换:
SQL>
SELECT GREATEST(sysdate,'2014-08-01') A FROMDUAL;
SELECTGREATEST(sysdate,'2014-08-01') A FROM DUAL
ORA-01861:文字与格式字符串不匹配
4.4 演示样例四【空值】
使用GREATEST取最大值的时候,当expr为函数的时候,不可避免的会产生空值。
产生空值。函数GREATEST会怎么进行处理那:
expr_1为NULL时:
SQL>
SELECT GREATEST(NULL, 'B', 'C', 'D', 'E','GA', 'GAB') A FROM DUAL;
A
-
expr_1不为NULL时,其他的expr为NULL时:
SQL>
SELECT GREATEST('A', 'B', 'C', 'D', 'E',NULL, 'GAB') A FROM DUAL;
A
-
由上能够发现,仅仅要GREATEST的expr有一个为NULL,都会返回NULL。
版权声明:本文博主原创文章。博客,未经同意不得转载。
ORACLE功能GREATEST功能说明具体实例的更多相关文章
- oracle导入导出功能
1.普通版:oracle导入导出功能:导出exp 用户名/密码@SID file=f:\xx.dmp owner=用户名 导入imp 用户名/密码@SID full=y file=f:\xx.dmp ...
- 用mysql实现类似于oracle dblink的功能
用mysql实现类似于oracle dblink的功能 首先看看有没有federated 引擎. mysql> show engines; +------------+----------+ ...
- oracle修改审计功能
oracle修改审计功能 如果没有关闭审计功能,审计日志文件默认保存在位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/ 关闭审计:alter system set au ...
- Oracle EBS WMS功能介绍(二)
Oracle EBS WMS功能介绍(二) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 出货物流逻辑主要包括 1. 打包.能够进 ...
- Trove系列(三)—Trove的功能管理功能介绍
Trove的功能管理功能Trove的功能管理功能包括给各种不同的版本的 datastore 安装不同的 功能. 本管理功能只适用于激活/去活全系统的功能.唯一例外的是数据存储功能列表功能,该功能对所有 ...
- Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考
写在前面: 1.Oracel打每个补丁的操作有时存在差异,所以不管多熟悉,都应该在打任何补丁之前阅读新补丁中附带的readme. 2.Oracle每季度都会更新一个最新的PSU,本文最新指的是当前最新 ...
- 查询oracle数据库的数据库名、实例名、ORACLE_SID
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
- Asianux 7.3安装Oracle 11.2.0.4单实例体验
环境:Asianux 7.3 需求:安装Oracle 11.2.0.4 单实例 背景:系统使用默认的最小安装部署,Oracle安装额外需要的包统一使用yum安装. 查看当前系统相关信息: [root@ ...
- Atiit 常见功能 常用功能与模块的最快速解决方案
Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...
随机推荐
- easyui tree 判断点击的节点是否还存在子节点
有些业务需求是要求tree一次性全部加载,有些是需要异步加载的. 如果是一次性全部加载的tree,那怎么判断点击的节点是否还存在子节点? function loadTree(){ $('#tree') ...
- PHP数据学习-二维数组【3】
<?php // $project = array( // array("bai",12,23.0), // array("zeng",34,12.0), ...
- 如何在js文件中实现获取request.getCotextPath();
我们在jsp中可以方便的使用“request.getCotext()”来获取工程的根目录. 但是如果我们的js代码存在一个单独的js文件中,这时候再想获取根目录,我们就要自己截取了.可以采用下面的方式 ...
- Frame Stacking
poj1128:http://poj.org/problem?id=1128 题意:一个二维图里面有几个相框(四条边的空心矩形框).有重叠,求重叠顺序.还有题目保证至少存在一种符合要求的序列,当有多种 ...
- "Ray, Pass me the dishes!"
uvaLive3938:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&pag ...
- SQL Server 全文搜索 配置、查询初体验
原文:SQL Server 全文搜索 配置.查询初体验 一.使用SQL Server全文搜索配置 要使用SQL Server的全文搜索服务,需要进行如下配置. 1.开启全文搜索服务: 2.开启数据库的 ...
- 【HDOJ】2896 病毒侵袭
AC自动机模板题. #include <iostream> #include <cstdio> #include <cstring> #include <qu ...
- c++子类继承父类的覆盖问题
废话少说,先看一段代码! #include <iostream> #include <string> using namespace std; class A { public ...
- PHP实现登录,注册,密码修改
注册,登录,修改密码 1.登录 2.忘记密码 3.免费注册 页面布局 <div id="views" class="views"> <div ...
- BZOJ1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 4 ...