日付に30日を追加してください。

日付に30日を追加してください。

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

以下は、1ヶ月後にISO-8601形式で日付を出力する例です。

date -I -d '+1 month'

答え3

BSD(またはmacOSなどのBSD POSIXを使用する他のシステム)を使用している場合でも、date次のように使用できます。

$ date -v+30d -jnf %Y-%m-%d "2015-09-26" +%Y-%m-%d

答え4

更新するには、ステートメントでMySQLdate_add()関数を使用してください。UPDATEJOHN修正するテーブルのデータ。

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"

関連情報