将Null视为最大值

时间:2010-08-06 13:13:00

标签: sql null max

因此,如果我的数据库中有一个值为

的表
1
2
3
4
NULL

我执行了查询

SELECT MAX(col1) FROM <table>

我会得到4.有没有办法改变这个,所以Null会被视为最大值而不是最小值?

谢谢!

3 个答案:

答案 0 :(得分:6)

SELECT MAX(ISNULL(col1, 2147483647)) FROM <table> 

[2147483647 = 2 ^ 31 - 1]

答案 1 :(得分:2)

作为变体,您可以在Oracle上执行此操作。

SELECT *
  FROM ( SELECT col1 
           FROM <table>
          ORDER BY col1 DESC NULLS FIRST
       )
 WHERE rownum = 1

(OP未指定任何特定的数据库风格)

答案 2 :(得分:1)

      SELECT MAX(ISNULL(col1, YouBiggestNumber)) FROM <table>