sql查询一段日期内的某个时间段的数据量,该如何解决

sql查询一段日期内的某个时间段的数据量
例如:想查询BOOK_DATE在2010-06-01到2010-08-01之间的13点到15点之间的数据

如何实现,在pb中如何添加时间控制,谢谢大家
------解决方案--------------------
试一下:
select * from 表 
where (convert(char(10), BOOK_DATE) between '2010-06-01' and '2010-08-01')
and (convert(char(8), convert(datetime, BOOK_DATE, 120) , 108) between '13:00:00' and '15:00:00')
------解决方案--------------------
引用:
例如:想查询BOOK_DATE在2010-06-01到2010-08-01之间的13点到15点之间的数据

如何实现,在pb中如何添加时间控制,谢谢大家

sql server吗?

select * from tb where convert(varchar(10),BOOK_DATE,120) between '2010-06-01' and '2010-08-01' and datepart(hh,BOOK_DATE) between 13 and 18

------解决方案--------------------
oracle 写法如下:
方法一:日期为2010-1-1至2010-3-27
select *
from 表 a where 日期>=to_date('2011-1-1','yyyy-mm-dd') and a.日期<=to_date('2011-3-27','yyyy-mm-dd');

方法二:日期为2010-1-1 00:00:00至2010-3-27 23:59:59
select *
from 表 a where 日期>=to_date('2011-3-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and a.日期<=to_date('2011-3-27 23:59:59:59','yyyy-mm-dd hh24:mi:ss');