7

次のことを試していますが、結果が得られません。

SELECT *
FROM users_test
WHERE dateadded >= UNIX_TIMESTAMP('2012-02-01 00:00:00') 
AND dateadded <  UNIX_TIMESTAMP('2012-11-01 00:00:00');

それでも、その範囲内の日付を持つ列があることは知っています。

2012-05-11 17:10:08

これを行うより良い方法はありますか?

最終的には、同時にではありませんが、今日、昨日、先週、先月など、日付範囲と月範囲など、複数のパラメーターを検索したいと考えています

4

4 に答える 4

15

やってみました?

SELECT *
FROM users_test
WHERE dateadded >= '2012-02-01 00:00:00'
AND dateadded <  '2012-11-01 00:00:00'

私が見ることができるように、あなたのテーブルにはあなたが探したいのと同じ方法でデータが保存されているようです(2012-05-11 17:10:08)。したがって、この場合、UNIX_TIMESTAMPは必要ありません。

また、結果から2番目の日付を除外したいことがわかります(<の代わりにを使用しているため<=)。そうでない場合は、使用しWHERE dateadded BETWEEN '2012-02-01 00:00:00' AND '2012-11-01 00:00:00'ても問題ありません...

于 2012-11-16T14:48:31.240 に答える
6

SQLBETWEENキーワードを使用するだけです。それで全部です。

于 2012-11-16T14:54:02.983 に答える
0
SELECT * FROM table_name WHERE DATE(date_field) between '2015-05-10' and '2015-05-21`
于 2015-05-29T22:55:11.527 に答える