2

昨日の午前 2 時から今日の午前 2 時までの間に発生したすべてのログイン日付 ( dd/mm/yyyy) と時刻 ( )を検索するクエリを実行する必要があります。hh.mmデータベースのログイン時間は、 としてフォーマットされmm-dd-yyyy hh.mm.ssます。

間違った日または期間外にデータを返す複数selectのクエリを試しました。between

4

5 に答える 5

6

あなたが提供した情報に基づいて、私は一般的な例しか挙げることができません:

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'
于 2011-08-16T14:15:42.207 に答える
1

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)

もっと良い方法があると確信しています。

于 2011-08-16T14:34:46.460 に答える