- 情感问答
- 答案列表
sql 按时间查询:sql时间范围查询[朗读]
selectcount(id),convert(varchar(10),[date],120)fromtgroupbyconvert(varchar(10),[date],120)。
select*from表名wherebreaktimebetweenctime(开始时间)andctime(结束时间)。
select*fromms_cf01awherea.kfrqbetweento_date('20100101180000','yyyymmddhh24miss')andto_date('20101231180000','yyyymmddhh24miss')andto_char(a.kfrq,'hh24miss')between'180000'and'240000'主要用到to_char,to_date对时间字段的转换方法,具体使用方法可baidu如果这么查询,主要是第2个条件无法用上索引,所以最好的方式是在涉及表的时候将该字段拆成2个字段日期,时间,并用整形表示。
可使用sqldatediff(时间差)来查询某个月份,这是最简的方法:datediff函数功能返回两个日期之间的间隔.语法datediff(date-part,date-expression-1,date-。
--一天内:select*fromtblwhereconvert(varchar(10),posttime,120)='2010-04-03'--一周内:select*fromtblwheredatedepart(dw,posttime)=datedepart(dw,'2010-04-03')--一月内select*fromtblwhereconvert(varchar(7),posttime,120)='2010-04'。