あぼかどブログ > Web > PHP > (SQLメモ)intervalで日付を計算(加算・減算)する

(SQLメモ)intervalで日付を計算(加算・減算)する

すぐに忘れてしまう自分用のSQLメモ。
あるカラムの日付を元にintervalを使って、日付を計算(加算・減算)する。

intervalで、年(year)を計算(加算・減算)する

テーブル
(例)テーブル:test_tbl
◆id:プライマリ
◆customer_id:顧客ID
◆item:商品名
◆term:保証期間(年)
◆start_date:購入日

上記、termとstart_dateから、保証終了日(end_date)を計算する。

 

【保証終了日が『 [term]年後 』の時】
SELECT
 id,
 customer_id,
 item,
 term,
 date_format(start_date, '%Y/%m/%d') as 'start_date',
 date_format(start_date + interval term year, '%Y/%m/%d') as 'end_date'
FROM
 test_tbl

※上記は、date_addを使っても同じ結果(減算の場合は、『- term』とする)
date_format(date_add(start_date, interval term year), '%Y/%m/%d') as 'end_date'

 

【保証終了日が『 [term]年後-1日 』の時】
SELECT
 id,
 customer_id,
 item,
 term,
 date_format(start_date ,'%Y/%m/%d') as 'start_date',
 date_format((start_date + interval term) - interval 1 day, '%Y/%m/%d') as 'end_date'
FROM
 test_tbl

【前後の記事】
«
 
»
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です