1

次の 2 か月に予定されている結果を取得したいので、次のクエリを使用しています (リリース日付の形式は、データベースでは通常2013 年 3 月 8 日です) 。

SELECT * FROM imdb WHERE (STR_TO_DATE(`release`, '%e %M %Y')-now()<2months) ORDER BY STR_TO_DATE(`release`, '%e %M %Y') DESC LIMIT 20

私は2か月がうまくいかないことを知っています...だから、これはmysqlでどのように機能しますか... thx ...私が試している他の方法は

SELECT * FROM imdb WHERE (STR_TO_DATE(`release`, '%e %M %Y')-now()<5184000000) ORDER BY STR_TO_DATE(`release`, '%e %M %Y') DESC LIMIT 20
4

5 に答える 5

0

thx みんな私は ans を見つけました (sir ji が私を助けてくれました ;) )

"SELECT * FROM imdb WHERE (TO_DAYS(STR_TO_DATE(`release`, '%e %M %Y'))-TO_DAYS(NOW())<60 && TO_DAYS(STR_TO_DATE(`release`, '%e %M %Y'))-TO_DAYS(NOW())>0) ORDER BY STR_TO_DATE(`release`, '%e %M %Y') LIMIT 20"

このようにして、開始日と終了日を制限できます...今から()..希望が助けになります

于 2012-11-23T08:31:39.160 に答える
0

このクエリは、次の出力を提供する場合があります。

  SELECT * FROM tbl_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY)

解決策を教えて

ありがとう

于 2012-11-23T08:16:26.823 に答える
0

これを試して ::

SELECT * FROM imdb WHERE DATE_SUB(CURRDATE(),(STR_TO_DATE(`release`, '%e %M %Y')) <60 ORDER BY STR_TO_DATE(`release`, '%e %M %Y') DESC LIMIT 20
于 2012-11-23T08:16:34.887 に答える
0

次のようなものが役立つはずです

SELECT * FROM `imdb` WHERE ( DATE_SUB(`release`, INTERVAL 2 MONTH) < now()) ORDER BY STR_TO_DATE(`release`, '%e %M %Y') DESC LIMIT 20
于 2012-11-23T08:17:29.147 に答える
0
$sql = "SELECT * FROM tableName ( SELECT MONTH(datefieldName) AS m , DAY(datefiled) As d FROM tableName) AS tmp ORDER BY (m,d) < ( MONTH(CURDATE()), DAY(CURDATE()) ), m , d limit 0,20";

それがあなたに役立つことを願っています!

于 2012-11-23T08:25:17.057 に答える