MySQLで100年後の日時を設定する
RailsでActiveRecordを継承しているオブジェクトのデータ型カラムに対して100年後の日時を設定したい場合、Time.current.since(100.days)
を利用することで実現できる。
しかし、Rubyを理解している人以外がデータを更新したい場合に上記は適切ではない。
SQLであれば共通言語になり得るため、プロダクトで利用しているMySQL5.6において実現する方法を調べた。
ドキュメントからADDDATE(date,INTERVAL expr unit)
関数を利用すればいいことがわかった。
ADDDATE(NOW(), INTERVAL 100 YEAR)
NOW()は、現在の日付と時間を返す。unit値としては、YEARの他にHOUR、DAY、WEEK、MONTHがある。
参考文献
https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html
スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)
- 作者: 中山清喬,飯田理恵子,株式会社フレアリンク
- 出版社/メーカー: インプレス
- 発売日: 2018/11/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る