【发布时间】:2020-01-29 06:16:37
【问题描述】:
我不熟悉 REDSHIFT 中的 COALESCE 功能。我在 mysql 和 Redshift 中运行了以下四个查询。
第一个和第二个查询在 mysql 和 redshift 中都按预期执行。但是对于第三和第四个查询,我在 mysql 和 Redshift 中得到了两个不同的结果。这表现如何?
select COALESCE(null,null,1)->1select COALESCE(null,null,'John')->1select COALESCE(null,null,1,'John')->(红移:error,mysql:1)select COALESCE(null,null,'John',1)->(红移:error,mysql:John)
另外,这个查询应该在 mysql 中给出错误,但它已经成功了 任何帮助表示赞赏
【问题讨论】:
-
"这个查询应该在 mysql 中报错,但它已经成功了" ? MySQL COALESCE() 函数返回列表中的第一个非空值。你的 MySQL #3 & #4 结果是正确的
-
另外,在 MySQL 中
select COALESCE(null,null,1,'John') UNION ALL select COALESCE(null,null,'John',1)也是正确的!
标签: mysql amazon-redshift coalesce