1

私のデータベースレコードの一部を以下に示します。SQLを使用して、毎日のある期間のレコードを取得したいと思います。01:00 - 03:00以下のレコードを取得したいなど、取得する予定です2004/8/7 01:54、、、2004/8/11 02:41どうすればよいですか?ありがとう:)

2004/8/7 01:54
2004/8/7 16:44
2004/8/7 22:26
2004/8/9 16:26
2004/8/9 16:26
2004/8/9 18:36
2004/8/9 18:36
2004/8/9 18:36
2004/8/9 18:36
2004/8/10 23:22
2004/8/10 23:23
2004/8/11 02:41
2004/8/12 21:05
4

2 に答える 2

3

このHOUR()関数はあなたに一日の時間を与えます。残りは簡単です:

select * from mytable
where (hour(datetime_column) between 1 and 2
  or (hour(datetime_column) = 3 
    and minute(datetime_column) = 0
    and second(datetime_column) = 0))

編集:

hour(datetime_column) between 1 and 2に一致... 01:00:00... 02:59:59、残りは残りの1秒に一致することに注意してください-正確に03:00:00

于 2012-05-10T12:53:49.407 に答える
1

MySQLを使用できますHOUR()

MySQLHOUR()は時間を返します。時刻値の場合、戻り値は0から23の範囲内です。時間値の範囲は23より大きくなる場合があります。

SELECT * 
FROM your_table 
WHERE HOUR(your_date_field) > 1 AND HOUR(your_date_field) < 3
于 2012-05-10T12:53:41.533 に答える