使用bash
或mysql
,我该如何添加30用户expiry
表中的天数?
示例我有这样的数据库名称USERS
和表:expiry
USERNAME EXPIRATION
JOHN 2015-09-26
我希望该命令采用EXPIRATION
指定列中的任何值USERNAME
并添加30几天
所以结果是:
USERNAME EXPIRATION
JOHN 2015-10-26
答案1
使用 GNU date
:
$ date -d '2015-09-26 +30 days' '+%Y-%m-%d'
2015-10-26
答案2
下面是一个月后以 ISO-8601 格式输出日期的示例:
date -I -d '+1 month'
答案3
如果您使用的是 BSD(或其他使用 BSD POSIX 的系统,如 macOS),您仍然可以date
像这样使用:
$ date -v+30d -jnf %Y-%m-%d "2015-09-26" +%Y-%m-%d
答案4
在语句中使用 MySQL 的date_add()
函数UPDATE
,更新JOHN
.这个会更新表中的数据。
UPDATE TABLE USERS
SET EXPIRATION = date_add(EXPIRATION, INTERVAL 30 DAY)
WHERE USERNAME = "JOHN"
只需选择数据并递增它以用于显示目的,
SELECT USERNAME, date_add(EXPIRATION, INTERVAL 30 DAY) AS "EXPIRATION" FROM USERS
WHERE USERNAME = "JOHN"