2

我有以下查询,谁允许我获取我的网站计划订阅的到期日期:

SELECT DATE_FORMAT( `expiry_date`, '%d %m %Y' )
FROM `plan_cbsubs_subscriptions` 
WHERE `user_id` = '[user_id]'

因此,如果计划订阅在下一个 7 月 27 日结束,则上述查询返回“27 07 2013”​​。现在我的目标是修改此查询以添加 3 天,最终返回“30 07 2013”​​,即使实际值很好“27 07 2013”​​。

我想可以在某处添加查询 +3,但我不知道正确的语法。

4

3 回答 3

1
SELECT DATE_FORMAT(DATE_ADD(`expiry_date`, INTERVAL 3 DAY) , '%d %m %Y' ) 
FROM `plan_cbsubs_subscriptions` 
WHERE `user_id` = '[user_id]'
于 2013-07-20T15:37:29.187 回答
1

使用ADDDATE()

SELECT DATE_FORMAT( ADDDATE(`expiry_date`, 3), '%d %m %Y' ) 
FROM `plan_cbsubs_subscriptions` 
WHERE `user_id` = '[user_id]'

如果您想减去天数, FyiADDDATE()将接受负数:

ADDDATE(`expiry_date`, -3) -- 3 days before

Mysql也有SUBDATE(),所以你也可以这样做:

SUBDATE(`expiry_date`, 3) -- 3 days before
于 2013-07-20T15:38:02.903 回答
0

像这样的东西应该工作:

SELECT DATE_FORMAT(DATE_ADD(`expiry_date`,INTERVAL 3 DAY), '%d %m %Y' )
FROM `plan_cbsubs_subscriptions` 
WHERE `user_id` = '[user_id]';

减去 3 天:

SELECT DATE_FORMAT(DATE_SUB(`expiry_date`,INTERVAL 3 DAY), '%d %m %Y')
FROM `plan_cbsubs_subscriptions`
WHERE `user_id` = '[user_id]';

你可以在这里找到更多信息:MySQL DateAdd

于 2013-07-20T15:43:08.647 回答