mysqldump -t -u root -p mytestdb mytable --where=datetime LIKE '2014-09%'
これは私がやっていることであり、それは返します:
mysqldump: Couldn't find table: "LIKE"
列datetime
がlike 2014-09
である「9月のすべての行」を意味するすべての行を返そうとしています。
引用符を使用する必要がある場合があります。
mysqldump -t -u root -p mytestdb mytable --where="datetime LIKE '2014-09%'"
LIKEを使用して日付を選択することはお勧めできません。 1つのプロジェクトでこの方法を見ました。これにより、このテーブル列によるインデックスが使用されないため、DBMSの負荷が大きくなり、システムの動作が遅くなります。
期間を選択する必要がある場合は、次のいずれかを使用します。
where datetime between '2014-09-01' and '2014-09-30 23:59:59'