MySQLで加算・減算演算子とINTERVALキーワードを使って日付演算を行う方法
MySQLでは、加算(+)および減算(-)の演算子に「INTERVAL」キーワードを組み合わせることで、日付(DATE)や日時(DATETIME)に対する簡単な演算を実行できます。INTERVALの後ろには、日数・時間・月数などの時刻単位を指定します。
例1:特定の日付に2日を加算する
mysql> Select '2017-05-20' + INTERVAL 2 day; +-------------------------------+ | '2017-05-20' + INTERVAL 2 day | +-------------------------------+ | 2017-05-22 | +-------------------------------+ 1 row in set (0.00 sec)
例2:特定の日付から2日を減算する
mysql> Select '2017-05-20' - INTERVAL 2 day; +-------------------------------+ | '2017-05-20' - INTERVAL 2 day | +-------------------------------+ | 2017-05-18 | +-------------------------------+ 1 row in set (0.00 sec)
例3:日時に3時間を加算する
mysql> Select '2017-05-20 05:04:35' + INTERVAL 3 hour; +-----------------------------------------+ | '2017-05-20 05:04:35' + INTERVAL 3 hour | +-----------------------------------------+ | 2017-05-20 08:04:35 | +-----------------------------------------+ 1 row in set (0.00 sec)
例4:特定の日時に1か月を加算する
mysql> Select '2017-05-20 05:04:35' + INTERVAL 1 month; +------------------------------------------+ | '2017-05-20 05:04:35' + INTERVAL 1 month | +------------------------------------------+ | 2017-06-20 05:04:35 | +------------------------------------------+ 1 row in set (0.00 sec)
このように、INTERVALキーワードを活用すれば、SQL文の中で日数・時間・月などを自由に加減算でき、柔軟な日付演算が可能になります。また、「year(年)」「week(週)」「minute(分)」「second(秒)」など、さまざまな単位にも対応しているため、用途に応じて使い分けると便利です。
-
MySQLでdoubleやdateの値をVARCHAR型に保存しても大丈夫?型変換の方法を解説
はじめに 結論から言うと、MySQLではDOUBLE(倍精度浮動小数点数)やDATE(日付)の値をVARCHAR型のカラムに保存することが可能です。ただし、そのままでは数値計算や日付操作が行えないため、取り出す際に適切な型へ変換する必要があります。 本記事では、実際にテーブルを作成してVARCHAR型としてデータを保存し、後からDOUBLE型・DATE型へ変換して取得するまでの一連の手順を、サンプルコードと実行結果付きで解説します。 1. テーブルの作成 まず、AmountカラムとJoiningDateカラムを持つテーブルを作成します。どちらのカラムもvarchar(20)として定義していま
-
MySQLでテーブルの日付レコードを変更する方法|UPDATEとDATE_ADD()の使い方
MySQLで保存済みの日付データに年数を加算して変更したい場合、UPDATEコマンドとDATE_ADD()関数を組み合わせることで簡単に実現できます。ここでは、実際のSQLクエリ例を使いながら、日付レコードを変更する手順を順番に解説します。1. テーブルを作成するまず、日付型(date)のカラムを持つテーブルを作成します。mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERTコマンドを使ってテ