我使用的是SQL Server 2012.我有一个大表(称之为temperatures
)。该表包含过去x年记录温度的微小数据。表包含大约500万条记录。
目前,我使用下面的简单查询选择表的子集。
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点的温度。我该怎么做?
答案 0 :(得分: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