
# 比较函数
表1比较函数列表 
| 函数名        | 与MySQL的差异                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|
| COALESCE() | union distinct场景下，返回值精度与MySQL不完全一致。 当第一个不为NULL的参数的后续参数表达式中存在隐式类型转换错误时，MySQL会忽略该错误，GaussDB会提示类型转换错误。当参数为MIN函数、MAX函数时，返回值类型与MySQL不一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| INTERVAL() | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| GREATEST() | 当该函数入参含有NULL且在WHERE关键字之后调用，返回结果与MySQL 5.7不一致，此处为MySQL 5.7存在的问题，MySQL 8.0修复了该问题，目前GaussDB和MySQL 8.0保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| LEAST()    | 当该函数入参含有NULL且在WHERE关键字之后调用，返回结果与MySQL 5.7不一致，此处为MySQL 5.7存在的问题，MySQL 8.0修复了该问题，目前GaussDB和MySQL 8.0保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ISNULL()   | - 函数返回值类型在MySQL 5.7和MySQL 8.0中存在差异，结合MySQL 8.0的行为更为合理，因此函数返回值类型兼容MySQL 8.0。  - 内层嵌套部分聚合函数时，部分场景返回结果MySQL 5.7和MySQL 8.0中存在差异，结合MySQL 8.0的行为更为合理，因此函数返回值兼容MySQL 8.0。 ``` m_db=# SELECT isnull(avg(1.23)); ?column? ---------- f (1 row) m_db=# SELECT isnull(group_concat(1.23)); ?column? ---------- f (1 row) m_db=# SELECT isnull(max('1.23')); ?column? ---------- f (1 row) m_db=# SELECT isnull(min(1/2)); ?column? ---------- f (1 row) m_db=# SELECT isnull(std(3.14159 * 1.2345)); ?column? ---------- f (1 row) m_db=# SELECT isnull(sum('0.23400')); ?column? ---------- f (1 row) ```    |
   
