5

date_created2時間以内のすべてのレコードを取得しようとしています。これは、php 関数から作成される UNIX タイムスタンプですtime()。これが私の現在のクエリです:

SELECT id from gsapi_synsets where name = "Beyonce" and date_created BETWEEN  UNIX_TIMESTAMP(date_created) and UNIX_TIMESTAMP(DATE_ADD(CURDATE(),INTERVAL 2 hour))    

しかし、機能していないようです。

4

2 に答える 2

9

将来の値がない場合はdate_created、これを使用できます。

SELECT id
FROM gsapi_synsets
WHERE name = 'Beyonce'
  AND date_created > UNIX_TIMESTAMP(NOW() - INTERVAL 2 HOUR);

値が将来の可能性がある場合date_createdは、これを使用してください。これは現在で切り捨てられます

SELECT id
FROM gsapi_synsets
WHERE name = 'Beyonce'
  AND date_created BETWEEN UNIX_TIMESTAMP(NOW() - INTERVAL 2 HOUR) AND UNIX_TIMESTAMP()

引数なしで呼び出すとUNIX_TIMESTAMP、「今」のタイムスタンプが返されることに注意してください。

于 2013-08-09T18:50:07.110 に答える
1

その行の日付スタンプから 2 時間後までのすべての行を取得しようとしていますが、うまくいきません。代わりにこれを使用してください:

SELECT id from gsapi_synsets where name = "Beyonce" and date_created BETWEEN  UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL -2 hour)) and  UNIX_TIMESTAMP(NOW())     
于 2013-08-09T18:40:03.303 に答える