根据日期时间字段的时间部分选择查询

时间:2014-11-29 13:03:40

标签: sql sql-server sql-server-2012

我使用的是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点的温度。我该怎么做?

1 个答案:

答案 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