Sql max函数Null与Nullif(1,1)作为db2中的参数

Sql max函数Null与Nullif(1,1)作为db2中的参数,sql,function,null,db2,max,Sql,Function,Null,Db2,Max,我正在测试db2max函数,看看它是否选择NULL作为NULL列表的最大值 所以我运行了这个查询: SELECT max (a.colname) FROM (SELECT null AS colname FROM <replace with any small table name>) a 我能够通过将null替换为nullif(1,1)来测试设置我要做的事情,实际上,它返回null作为null值列表中的最大值 根据这一点,sql状态意味着函数max有不同的实现或重载,可以处理参数

我正在测试db2max函数,看看它是否选择NULL作为NULL列表的最大值

所以我运行了这个查询:

SELECT max (a.colname)
FROM (SELECT null AS colname FROM <replace with any small table name>) a
我能够通过将
null
替换为
nullif(1,1)
来测试设置我要做的事情,实际上,它返回
null
作为
null
值列表中的最大值

根据这一点,sql状态意味着函数max有不同的实现或重载,可以处理参数
a.colname
,从而处理错误

我不确定在哪里可以找到更多关于db2中max函数实现的信息,因为


知道null和nullif的类型有什么不同吗,特别是在max函数的上下文中?

您需要为该列选择一个数据类型,请尝试以下操作:

SELECT max (a.colname)
FROM (SELECT CAST(null AS INT) AS colname FROM <replace with any small table name>) a
选择最大值(a.colname)
FROM(选择CAST(null作为INT)作为colname FROM)a
在第一个查询中,
MAX
不知道该列的数据类型。在第二个查询中,它根据输入分配一个数据类型(在本例中为1),因此它可能表示这是一个
INT
,因此它可以计算
MAX

SELECT max (a.colname)
FROM (SELECT CAST(null AS INT) AS colname FROM <replace with any small table name>) a