gpt4 book ai didi

mysql - 计算成员(member)期限,直到现在或直到结束日期

转载 作者:行者123 更新时间:2023-11-29 07:00:34 26 4
gpt4 key购买 nike

我有一个 MySQL 表(其中包括)以下列:

[name] [member_since_date] [member_until_date]

当某人的成员(member)资格结束时,[member_until_date] 字段被填充,否则它包含 NULL。

我需要一个纯粹基于 SQL 的解决方案来解决以下问题:

我想计算某人的成员(member)时间:当 [member_until_date] 被填充时,我需要它来计算 [member_until_date] - [member_since_date]

当某人仍然是成员(member)时,字段 [member_until_date]NULL,因此我需要它来计算 [NOW] - [member_since_date].

我希望我对此足够清楚,也希望有人能为我解答。

最佳答案

要获取日期之间的差异(以天为单位),请使用 DATEDIFF()。要根据条件获取一个值或另一个值,请使用 IF,但在本例中我使用的是类似的 IFNULL()。

SELECT DATEDIFF(IFNULL(member_until_date, NOW()), member_since_date) AS days_member
FROM ...

IFNULL() 表示使用第一个参数,除非它为空,然后使用第二个参数。

DATEDIFF() 需要较大的日期优先以获得肯定的结果。

COALESCE() 提供与 IFNULL() 类似的功能,并且是执行此操作的 ANSI SQL 方式。

关于mysql - 计算成员(member)期限,直到现在或直到结束日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10372657/

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