質問: ここで「interval」は どんな働きがあるのでしょうか? 練習問題~ 次のようなテーブル「zaiko」があります。 mysql> select a,b,c from zaiko; +--------+------+------------+ | a | b | c | +--------+------+------------+ | 東支店 | 200 | 2011-08-08 | | 西支店 | 500 | 2017-06-15 | | 南支店 | 100 | 2010-02-23 | | 北支店 | 400 | 2019-08-08 | +--------+------+------------+ このテーブル「zaiko」のカラム「c」の値が、現在より5年以前 のものを除いたレコードだけを抽出し、テーブル「new_zaiko」 を作ってください。ただし、この処理は、2018年に行った ものとします。 正解は mysql> create table new_zaiko select * from zaiko where c>now() - interval 5 year; Query OK, 2 rows affected (0.02 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from new_zaiko; +--------+------+------------+ | a | b | c | +--------+------+------------+ | 西支店 | 500 | 2017-06-15 | | 北支店 | 400 | 2019-08-08 | +--------+------+------------+ 解説 create table new_zaiko select * from zaiko テーブルzaikoを複製してnew_zaikoテーブルを新たに作成する。 where c>now() - interval 5 year; new_zaikoテーブルのカラム cは現在から換算して5年未満の ものは、削除され、5年以内が残る。 ※now関数は「現在の日付と時刻」を表示する ----------------------------------------- 以上ですが、ここで「interval」がでてきますが どんな働きがあるのでしょうか? よろしくお願いいたします。
回答: RTFM. ---------- 引用ここから 日付演算は、+ または - 演算子とともに INTERVAL を使用して実行することもできます。 date + INTERVAL expr unit date - INTERVAL expr unit ---------- 引用ここまで select now() - interval 5 year; を実行して結果を確認すれば自明だとは思いますが・・・