我在 MySQL 表中有两个日期列,代表两个用户处理的任务。日期列记录用户 1 同意任务的时间和用户 2 同意任务的时间,如果用户尚未同意任务,则可以为 NULL
。
我想生成任务同意的日期 - 除非两个用户都同意该任务,否则它应该为 NULL,或者如果他们都同意,则为两个日期中的最大值。
所以我想要一个生成的查询:
user_1_agreed user_2_agreed query_result
NULL NULL NULL
2014-01-02 NULL NULL
NULL 2014-03-04 NULL
2014-01-02 2014-03-04 2014-03-04
我知道 MAX
、COALESCE
和 IF
,但我在尝试找出如何将它们组合成给出以上内容。
最佳答案
greatest
功能完全符合您的要求:
SELECT GREATEST(user_1_agreed, user_2_agreed)
FROM my_table
关于mysql - 如何从两列中获取最大日期,或者如果任一列为空,则为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27602945/