zoukankan      html  css  js  c++  java
  • oracle greatest(),least( ) ,coalesce()

     1 --场景1:
     2 select pt, greatest(wm), least(wm)
     3   from (select s.producttype pt, wm_concat(s.productid) wm
     4           from sys_product s
     5          group by s.producttype)
     6  where pt = 1;
     7 /*
     8 --结果:
     9 1    | 1    17,19,16,15,9,4,3,2,1,14,13,18
    10 2    | 2    5,12,11,10,8,7,6
    11 --maxt=17,19,16,15,9,4,3,2,1,14,13,18
    12 --mint=17,19,16,15,9,4,3,2,1,14,13,18
    13 */
    14 --场景2:
    15 select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18,null) maxt,
    16        least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint
    17   from dual;
    18 --结果:maxt=19 ,mint=1 
    19 
    20 /*1. 
    21 COALESCE 返回该表达式列表的第一个非空value。
    22 格式: COALESCE(value1, value2, value3, ...)
    23 含义: 返回value列表第一个非空的值。
    24 value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
    25 
    26 */
    27 select coalesce(a,b,c) from (
    28  select '1' as a,'A' as b,null as c from dual 
    29  union all 
    30  select '1' as a,null as b,null as c from dual
    31  union all 
    32  select null as a,null as b,'shit' as c from dual
    33  )
    34  
    35 /*GREATEST 返回值列表中最大值
    36 格式: GREATEST(value1, value2, value3, ...)
    37 含义: 返回value列表最大的值。
    38 value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
    39 当value值列表中有一个为NULL,则返回NULL值。
    40 EXAMPLE:
    41 */
    42 select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) maxv, --19
    43        greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18, null) maxnull, --null
    44        least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint --1
    45   from dual;
    46 
    47 
    48 /*
    49 3. LEAST 返回值列表中最小值
    50 格式: LEAST(value1, value2, value3, ...)
    51 含义: 返回value列表最小的值。
    52 value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
    53 当value值列表中有一个为NULL,则返回NULL值
    54 */
    55 select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) maxv, --19
    56        greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18, null) maxnull, --null
    57        least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint --1
    58   from dual;
  • 相关阅读:
    PHP设计模式——观察者模式
    TRIZ系列-创新原理-34-抛弃和再生部件原理
    玩转Android Camera开发(三):国内首发---使用GLSurfaceView预览Camera 基础拍照demo
    高速排序算法C++实现
    crm操作报价单实体
    CSS3 网格布局(grid-layout)基础知识
    shadowOffset 具体解释
    [软件人生]关于此次抄袭事件的一个对话
    SpringMVC接收复杂集合对象(参数)代码示例
    Spring MVC同时接收一个对象与List集合对象
  • 原文地址:https://www.cnblogs.com/linbo3168/p/8311751.html
Copyright © 2011-2022 走看看