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. 在所有其他情况下,函数将参数作为二进制字符串进行比较


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM