SQL 计算时间差问题,要精确到天小时分钟.

2024-05-10 17:39

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 表名
 
刚才测试了一下:结果如下

有问题欢迎追问

SQL 计算时间差问题,要精确到天小时分钟.

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

sql按指定时间段统计问题

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、对应的查询结果。

sql查询如何按每个小时查询那个时间段的总数

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