2014-11-29 2 views
0

SQL Server 2012를 사용하고 있습니다. 큰 테이블이 있습니다 (temperatures). 이 표에는 지난 x 년 동안 기록 된 온도의 분 데이터가 포함됩니다. 표에는 약 5 백만 개의 레코드가 들어 있습니다.날짜/시간 필드의 시간 부분을 기준으로 쿼리를 선택하십시오.

현재 아래의 간단한 쿼리를 사용하여 테이블의 하위 집합을 선택합니다.

select t_datetime, temp_c from temperatures 
where t_datetime >= '2010-01-01 00:00:00' 
and t_datetime <= '2011-12-01 18:00:00' 
order by t_datetime 

내가 원하는 것은 두 시간 간격 사이의 모든 온도를 특정 시간에만 선택하는 것입니다. 예를 들어, 2010 년 1 월 1 일부터 2011 년 12 월 1 일 사이에 매일 오후 6시에 온도를 유지하려고합니다. 어떻게해야합니까?

답변

1
select t_datetime, temp_c from temperatures 
where t_datetime >= '2010-01-01 00:00:00' 
and t_datetime <= '2011-12-01 18:00:00' 
and LTRIM(RIGHT(CONVERT(VARCHAR(20), t_datetime, 100), 7))='6:00PM' 
order by t_datetime 
+0

SQL Server를 사용하고 있는데 DATE_FORMAT을 (를) 인식하지 못합니까? 죄송합니다. – mHelpMe

+0

. 지금 업데이트했습니다. 오, 당신은 이미 그것을 표시했습니다. : P – Codeek

+0

귀하의 도움을 주셔서 감사합니다 – mHelpMe

관련 문제