したがって、2年以上経過しているシステムからデータを消去したいとします。MYSQLは2年以上古いデータを選択します
私は、私が保管する日時フィールドを持っています。
は私が
SELECT * FROM `table` where date_field < (??? what goes here)
私の問題のような何かを行うことができます知っている私は、私は日付を計算し、または多分私は
したがって、2年以上経過しているシステムからデータを消去したいとします。MYSQLは2年以上古いデータを選択します
私は、私が保管する日時フィールドを持っています。
は私が
SELECT * FROM `table` where date_field < (??? what goes here)
私の問題のような何かを行うことができます知っている私は、私は日付を計算し、または多分私は
あなたはINTERVAL
を使用することができます:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.htmlから参照
SELECT * FROM `table` WHERE date_field < DATE_SUB(CURDATE(),INTERVAL 2 YEAR);
。
混乱していますどのように考えていますマニュアルが十分明確でない場合の具体的な回答:
SELECT * FROM `table` where date_field < (now() - interval 2 year)
これは助けることができることがあります。
SELECT EXTRACT(YEAR FROM `date`) AS year
from table
having year< (EXTRACT(YEAR from CURDATE())-2)
SELECT * DATE_FIELD < DATE_SUB(NOW()、INTERVAL 2 YEAR)table
FROM。
を読んでください。その単純な、date_sub()内のnow()関数を使用してください。 –
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-addが役立ちます。 'DATE_ADD(date、INTERVAL expr unit)'、 'DATE_SUB(date、INTERVAL expr unit')と' now() 'を組み合わせて使用します。また:http://stackoverflow.com/questions/3887509/mysqls-now-1-day – xQbert
あなたは> 2年を使用する必要はありませんか?代わりに<あれ? – xQbert