1. SQL 计算时间差问题,要精确到天小时分钟.
什么数据库啊?
sqlserver
select cast(floor(datediff(minute,时间1,时间2) / 1440) as varchar)+'天'+
cast(floor((datediff(minute,时间1,时间2) % 1440)/60) as varchar)+'小时'+
cast(((datediff(minute,时间1,时间2))-
(floor(datediff(minute,时间1,时间2) / 1440) *1440)-
(floor((datediff(minute,时间1,时间2) % 1440)/60)*60)) as varchar)+'分'
from 表名
刚才测试了一下:结果如下
有问题欢迎追问
2. oracle关于数据库 时间统计的查询问题
这种情况下,你需要特殊处理下出差日期和回日期。我简单写了一下,你参考下。
with t as (
select 'a' name, '2014-6-20' go_date, '2014-6-30' end_date, 11 totalday from dual
union all
select 'a' name, '2014-5-28' go_date, '2014-6-3' end_date, 6 totalday from dual
union all
select 'a' name, '2014-6-28' go_date, '2014-7-3' end_date, 6 totalday from dual
union all
select 'a' name, '2014-5-29' go_date, '2014-7-2' end_date, 4 totalday from dual
union all
select 'b' name, '2014-5-29' go_date, '2014-7-2' end_date, 34 totalday from dual)
select name, sum(edate-gdate+1) from
(select name, case when to_date(go_date, 'yyyy-mm-dd') < to_date('2014-6-1', 'yyyy-mm-dd') then to_date('2014-6-1', 'yyyy-mm-dd')
else to_date(go_date, 'yyyy-mm-dd') end gdate,
case when to_date(end_date, 'yyyy-mm-dd') > to_date('2014-6-30', 'yyyy-mm-dd') then to_date('2014-6-30', 'yyyy-mm-dd')
else to_date(end_date, 'yyyy-mm-dd') end edate
from t)
group by name;
3. sql按指定时间段统计问题
不用去判断,系统自己会判断的,如上图,测试代码如下:
declare @dateNow varchar(100)declare @daybefore varchar(100)set @dateNOw = '2014/03/01 09:00:00'set @daybefore = DATEADD(DAY,-1,@dateNOw)select @daybefore as daybefore, @dateNow select * from v_WorkRecord where MakeDate between @daybefore and @dateNow
4. sql 查询一段时间内 每一天的统计数据
select xx.time as "时间",count(id) as "条数" from record xx where xx.time between '2014-09-01' and '2014-10-01' group by xx.time;
5. sql查询如何按每个小时查询那个时间段的总数
1、新建JUnit test。
2、使用setUp()和tearDown()方法。
3、分别在两个方法中生成session,开启事务,提交事务和关闭session首先测试本地sql查询,即常用的sql语句通过session的createSQLQuery方法执行sql,并加载要查询的对象 。
4、带条件查询的方法,hibernate利用 :stuName的方式来占用SQL当中的参数,并通过query.setString("参数名","参数") 来进行赋值。
5、对应的查询结果。
6. sql语句查询时间段内的统计数据如何写
电池供电的开始时间查询select * from 表 where (curDt>开始时间 and curDt开始时间 and curDt< 结束时间) and PowerState =市电不知道是不是你想要的结果
7. 国家统计局公布的经济数据一般在什么时候?具体到小时。
在国家统计局官网,导航有个专栏叫“数据统计”,点击进去会看到"近期发布预告"旁边有个“
信息发布日程”下有经济数据发布的日程表。
参考链接:
中华人民共和国国家统计局 http://www.stats.gov.cn/tjsj/xxgbrc/
8. MySQL中统计一天之内每个时间段内的数据,很急
时间段统计,可以采用 hour(subscribe_time) 取出小时然后分层。思路:
select
uid
,CASE WHEN HOUR(subscribe_time) BETWEEN 0 AND 1 THEN '00:00:00'
WHEN HOUR(subscribe_time) BETWEEN 2 AND 3 THEN '02:00:00'
...
ELSE '23:00:00' END -- 生成时间分层部分,insert前外层sql加上日期后作为唯一的时间值
,COUNT(*)
FROM yht_fans WHERE subscribe_time>=UNIX_TIMESTAMP(CURDATE()) and subscribe_time<=UNIX_TIMESTAMP(CURDATE())+86400
GROUP BY 1,2