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功能说明具体实例的更多相关文章

  1. oracle导入导出功能

    1.普通版:oracle导入导出功能:导出exp 用户名/密码@SID file=f:\xx.dmp owner=用户名 导入imp 用户名/密码@SID full=y file=f:\xx.dmp ...

  2. 用mysql实现类似于oracle dblink的功能

      用mysql实现类似于oracle dblink的功能 首先看看有没有federated 引擎. mysql> show engines; +------------+----------+ ...

  3. oracle修改审计功能

    oracle修改审计功能 如果没有关闭审计功能,审计日志文件默认保存在位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/ 关闭审计:alter system set au ...

  4. Oracle EBS WMS功能介绍(二)

    Oracle EBS WMS功能介绍(二) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 出货物流逻辑主要包括 1.      打包.能够进 ...

  5. Trove系列(三)—Trove的功能管理功能介绍

    Trove的功能管理功能Trove的功能管理功能包括给各种不同的版本的 datastore 安装不同的 功能. 本管理功能只适用于激活/去活全系统的功能.唯一例外的是数据存储功能列表功能,该功能对所有 ...

  6. Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考

    写在前面: 1.Oracel打每个补丁的操作有时存在差异,所以不管多熟悉,都应该在打任何补丁之前阅读新补丁中附带的readme. 2.Oracle每季度都会更新一个最新的PSU,本文最新指的是当前最新 ...

  7. 查询oracle数据库的数据库名、实例名、ORACLE_SID

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

  8. Asianux 7.3安装Oracle 11.2.0.4单实例体验

    环境:Asianux 7.3 需求:安装Oracle 11.2.0.4 单实例 背景:系统使用默认的最小安装部署,Oracle安装额外需要的包统一使用yum安装. 查看当前系统相关信息: [root@ ...

  9. Atiit 常见功能 常用功能与模块的最快速解决方案

    Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...

随机推荐

  1. MOS管(场效应管)导通条件

    场效应管的导通与截止由栅源电压来控制,对于增强型场效应管来说,N沟道的管子加正向电压即导通,P沟道的管子则加反向电压.一般2V-4V就可以了.    但是,场效应管分为增强型(常开型)和耗尽型(常闭型 ...

  2. curl获取http请求的状态码

    $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); //设置头文件的信息作为数据流输出 curl_setopt($curl, CUR ...

  3. 如何编写一个简单的makefile

    一个规则的构成 目标:依赖1,依赖2······ 命令 例子: objs := init.o nand.o head.o main.o nand.bin : $(objs) arm-linux-ld ...

  4. Asp.Net MVC5 格式化输出时间日期

    刚好用到这个,网上找的全部是输出文本框内容的格式化日期时间 而我需要只是在一个表格中的单元个中输出单纯的文字 最后在MSDN上找到 HtmlHelper.FormatValue 方法 public s ...

  5. Java JPA 查询实体部分字段

    前言 相信大家在用Java JPA作为ORM的时候都会有这种困惑,就是某个表T我仅仅希望取到其中的A.B.C三个字段,可是jpa是通过Entity Class映射的方式组合查询结果的. 那么如何通过使 ...

  6. BZOJ 1013 球形空间产生器

    Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁 ...

  7. hdu 5074 Hatsune Miku

    http://acm.hdu.edu.cn/showproblem.php?pid=5074 题意:给你一个的矩阵score[i][j],然后给你一个数列,数列中有一些是-1,代表这个数可以换成1~m ...

  8. Firebase能改变什么(对SaaS,BaaS,PaaS,IaaS的解释比较清楚)

    作为Google Cloud对标Amazon AWS重要的一环,Firebase能改变什么? 雷锋网 2016-05-25 12:18:49 查看源网址 阅读数:12 按:本文作者刘之,野狗CEO.野 ...

  9. backbone初次使用及hello world

    官网:http://backbonejs.org/ Backbone.js gives structure to web applications by providing models with k ...

  10. Linux中查看进程的多线程pstree, ps -L

    Linux中查看进程的多线程 在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢? 本文介绍3种命令来查看Linux系统中的线程(LWP)的情况:在我的 ...