昨日の午前 2 時から今日の午前 2 時までの間に発生したすべてのログイン日付 ( dd/mm/yyyy
) と時刻 ( )を検索するクエリを実行する必要があります。hh.mm
データベースのログイン時間は、 としてフォーマットされmm-dd-yyyy hh.mm.ss
ます。
間違った日または期間外にデータを返す複数select
のクエリを試しました。between
あなたが提供した情報に基づいて、私は一般的な例しか挙げることができません:
SELECT *
FROM [YourTable]
WHERE [YourDate] BETWEEN '08-15-2011 02:00:00' AND '08-16-2011 02:00:00'
**編集**
コメントからの良い提案に従って、再利用可能なバージョンを次に示します。
SELECT *
FROM [YourTable]
WHERE [YourDate] BETWEEN DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) + '02:00'
AND DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()-1), 0) + '02:00'
mysql の場合:
SELECT * FROM your_table
WHERE STR_TO_DATE(your_date, '%m-%d-%Y %H.%i.%s') BETWEEN
DATE_SUB(STR_TO_DATE(DATE_FORMAT(NOW(), '%m-%d-%Y'), '%m-%d-%Y'), INTERVAL 22 HOUR) AND
DATE_ADD(STR_TO_DATE(DATE_FORMAT(NOW(), '%m-%d-%Y'), '%m-%d-%Y'), INTERVAL 2 HOUR)
もっと良い方法があると確信しています。