gpt4 book ai didi

mySQL "greatest"有两列可以为空

转载 作者:行者123 更新时间:2023-11-29 01:55:46 24 4
gpt4 key购买 nike

为什么 GREATEST(createdTS, modifiedTS) 每列之一为“null”时返回“null”?

如果两者之一为空,我只需要另一个的值。如果两者都为空,则为空。

我该怎么做?

正如我注意到的那样,我可以使用 COALESCE,例如 GREATEST(COALESCE(createdTS,0), COALESCE(modifiedTS,0)) - 这是最好的解决方案吗?

最佳答案

是的,null 就是这样,所以你可以使用 ifnull 来实现。
https://dev.mysql.com/doc/refman/5.0/en/working-with-null.html

你可以这样做:

mysql> select GREATEST(ifnull(1234,0),ifnull(null,0)) as g;
+------+
| g |
+------+
| 1234 |
+------+
1 row in set (0.00 sec)

如果你正在对非小数数据进行比较,你可以像上面那样做。

您也可以为此使用 COALESCE 函数。

关于mySQL "greatest"有两列可以为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29794286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com