因此,如果我的数据库中有一个值为
的表1
2
3
4
NULL
我执行了查询
SELECT MAX(col1) FROM <table>
我会得到4.有没有办法改变这个,所以Null会被视为最大值而不是最小值?
谢谢!
答案 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>