㈠ sql如何按时间段来查询
select * from ms_cf01 a where a.kfrq between to_date('20100101 180000','yyyymmdd hh24miss')
and to_date('20101231 180000','yyyymmdd hh24miss')
and to_char(a.kfrq,'hh24miss') between '180000' and '240000'
主要用到 to_char,to_date对时间字段的转换方法,具体使用方法可
如果这么查询,主要是第2个条件无法用上索引,所以最好的方式是在涉及表的时候将该字段拆成2个字段 日期 ,时间,并用整形表示
㈡ SQL查询时间范围语句
以下为MS_SQL的写法分日期和小时条件;
select *
from xy
where
(id=27 or id=28)and convert(varchar(10),WRITETIME,120) between '2009-01-26' and '2009-02-06'
and
convert(varchar(8),WRITETIME,108) between '08:00:00'and '12:30:00'
㈢ SQL 如何查询日期在一定范围内的数据
查询方法:
select * from 表 where 日期>='20130101' and 日期<='20130130'。
(3)sql时间范围查询小时扩展阅读:
SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来。
SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能。SELECT语句的完整语法,可以有6个子句。
完整的语法如下:
SELECT 目标表的列名或列表达式集合
FROM 基本表或(和)视图集合
〔WHERE条件表达式〕
〔GROUP BY列名集合〔HAVING组条件表达式〕〕
〔ORDER BY列名〔集合〕?〕
简单查询,使用TOP子句。
查询结果排序order by。
带条件的查询where,使用算术表达式,使用逻辑表达式,使用between关键字,使用in关键字,
模糊查询like。
网络—SQL数据库
㈣ sql如何截取时间里面的小时和分钟
SELECT DATEPART(hh,'2013-08-08 13:12:11') =13
SELECT DATEPART(mi,'2013-08-08 13:12:11') =12
SELECT DATEPART(ss,'2013-08-08 13:12:11') =11
㈤ SQL 按时间范围查
select sum((DATEDIFF(second,StartTime,EndTime)+59)/60) 呼入时长,count(*) 呼入次数
from dbo.BillingTable
where datepart(hh,starttime)>=20
or datepart(hh,starttime)<8
---做话单分析啊?
-----可不能按你的写,or比and结合性低,必须加括号
select sum((DATEDIFF(second,StartTime,EndTime)+59)/60) 呼入时长,count(*) 呼入次数
from dbo.BillingTable
where starttime between '2010-7-10' and '2010-7-21'
and (datepart(hh,starttime)>=20
or datepart(hh,starttime)<8)
------如果只做一天的,更简单了
select sum((DATEDIFF(second,StartTime,EndTime)+59)/60) 呼入时长,count(*) 呼入次数
from dbo.BillingTable
where starttime between '2010-7-20 20:00' and '2010-7-21 8:00'
㈥ sql查询时间段精确到小时
select to_date(substr('2012-11-19 15:25:10.000',0,16),'yyyy-mm-dd hh24:mi') from al;
select * from 表名 where 开始时间>(select to_date(substr('2012-11-19 15:25:00.000',0,16),'yyyy-mm-dd hh24:mi') from al) and 结束时间<(select to_date(substr('2012-11-22 20:10:00.000',0,16),'yyyy-mm-dd hh24:mi') from al)
㈦ sql server 日期范围查询
SELECT * FROM 表明 WHERE 日期字段名 BETWEEN '20130101' AND '20130130'
或者:
SELECT * FROM 表明 WHERE 日期字段名 BETWEEN CONVERT(datetime,'2013-01-01',120) AND CONVERT(datetime,'2013-01-30',120)
(7)sql时间范围查询小时扩展阅读:
注意事项
在写按时间段查询的sql语句的时候 一般我们会这么写查询条件:
where date>='2010-01-01' and date<='2010-10-1'。
但是在实执行Sql时些语句会转换成这样:
where date>='2010-01-01 0:00:00' and date<='2010-10-1:0:00:00',再看这个条件的话,就会有些明白,那就是'2010-10-1 0:00:00' 之后的数据例如('2010-10-1:08:25:00')查不到,也就是说2010-10-1的数据查不到。
修改查询条件为:
where date>='2010-01-01' and date<='2010-10-1 23:59:59' 或 where date>='2010-01-01' and date<='2010-10-2'。
某个表某个字段是Datetime型 以"YYYY-MM-DD 00:00:00" 存放
㈧ sql查询如何按每个小时查询那个时间段的总数
1、新建JUnit test。
㈨ SQL 15分钟为一时间段 查询1小时内每个时间段
select sum(quarter1),sum(quarter2),sum(quarter3),sum(quarter4)
from
(select quarter1,0 quarter2,0 quarter3,0 quarter4
from table where minute<15
union all
select 0 quarter1,quarter2,0 quarter3,0 quarter4
from table where minute>=15 and minute<30
union all
select 0 quarter1,0 quarter2,quarter3,0 quarter1
from table where minute>=30 and minute<45
union all
select 0 quarter1,0 quarter2,0 quarter3,quarter4
from table where minute>=45
)
//group by^^^^^^^^^^^^
这样查询出来的内容,第一个字段为,前十五分钟内容,第二个字段为中间十五分钟内容…………
㈩ sql分时间段查询
如果是oracle数据库的话,你可以直接存储时间,然后做差以后转化成分钟。