2

私のテーブルには、毎日の温度測定に関する詳細なデータがあります。テーブルは次のようになります。

DateTime timestamp, Float temperature

特定の間隔の異なる日付の気温を表示して、午前7時から午後8時までの気温のみを表示したいと思います。

日付間のデータを取得する方法を知っています:

SELECT [timestamp],[temperature]
  FROM [meteo_data]
  WHERE [timestamp] BETWEEN '2012-11-10' and '2012-11-17' 

時間制限(午前7時から午後8時)も実装するにはどうすればよいですか?

どうもありがとう!!

4

2 に答える 2

5

にいる場合はSQL Server 2008 or above、使用できますTIME datatype

SELECT [timestamp],[temperature]
FROM [meteo_data]  
WHERE [timestamp] BETWEEN '2012-11-10' and '2012-11-17'
AND CONVERT(TIME,[timestamp]) BETWEEN '19:00:00' AND '20:00:00'

編集:また、ISO (yyyymmdd)日付を文字列として使用する場合は、日付形式を使用することをお勧めします。すなわち

BETWEEN '20121110' and '20121117' 
于 2012-12-01T13:05:43.617 に答える
1

DateTime と TimeStamp の値には、必要な精度が含まれている必要があります。

SELECT [timestamp],[temperature]
FROM [meteo_data]  
WHERE [timestamp] BETWEEN '2012-11-10' and '2012-11-17'
AND RIGHT([timestamp], 12) BETWEEN '19:00:00.000' AND '20:00.00.000'

データベースの精度に応じて、RIGHT 述部で評価する文字数を調整する必要がある場合があります。しかし、アイデアは、時間、分、秒、およびミリ秒を構成するすべての部分を取り、それを必要な時間の間の部分だけに制限することです.

于 2012-12-01T12:59:16.047 に答える