Oracle中取某几个数的最大值最小值

Oracle中取某几个数的最大值最小值

 

一直有误区认为Oracle或者说关系型数据库中没有取某些数据中最大值最小值的函数,其实是存在的 分别为:
greatest( expr1, expr2, ... expr_n )
least( expr1, expr2, ... expr_n )

如图:
在这里插入图片描述
上述两个函数都使用 N 个参数,并分别返回最大值和最小值。 另需注意参数可能具有混合数据类型。
具体规则如下:

    1. 如果任何参数为null,则两个函数都将立即返回 null ,而不进行任何比较。
    2. 如果为int或real 上下文中使用函数,或者所有参数都是整数值或real值,那么他们将分别为int和real来比较。
    3. 如果参数由数字和字符串组成,则函数将它们作成数字进行比较。
    4. 如果至少一个参数是非二进制(字符)字符串,则函数将将参数作为非二进制字符串进行比较。
    5. 在所有其他情况下,函数将参数作为二进制字符串进行比较
posted @ 2020-08-04 09:52  systemctl1  阅读(457)  评论(0编辑  收藏  举报