ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near '0)' at line 1
select
if(
fieldA is NULL,
if(fieldB is NULL, NULL, fieldB), /* second NULL is default value */
if(fieldB is NULL, field A, GREATEST(fieldA, fieldB))
) as maxValue
3 回答
使用GREATEST()
例如 . :
要在一组行中获取列的最大值,请执行以下操作:
要获取每行的一组列,文字或变量的最大值,请执行以下操作:
您可以使用GREATEST函数而不是可空字段 . 如果其中一个值(或两者)都可以为NULL,则不要使用它(结果可以为NULL) .
您可以将NULL更改为首选默认值(如果两个值均为NULL) .