1,按每个10分钟进行分组展示数据

例如

有这么一张表 XATXDAY_FLIGHT(航班飞航表),

有这么一个字段 STD_LOCAL(起飞时间),

要求:统计一天24小时之内每隔10分钟,这10分钟之内有几架飞机起飞。

比如:XATXDAY_FLIGHT 表

STD_LOCAL . . .(其他字段省略)

12:00

12:05

12:10

12:20

12:25

.

(其他时间省略)

也就是说,结果应该是这样的:表示12:00~12:10这个时间段内有2架飞机起飞

12:00~12:10  2

12:10~12:20  1

12:20~12:30  2

查询语句如下:(相当与计算以10分钟分组的行数)

SELECT count(*) as total,t as 时间段
from(
SELECT STD_LOCAL ,
CASE FLOOR((TO_CHAR(TO_DATE(STD_LOCAL,'HH24:MI'),'MI'))/10)
WHEN 0 THEN '0'
WHEN 1 THEN '1'
WHEN 2 THEN '2'
WHEN 3 THEN '3'
WHEN 4 THEN '4'
WHEN 5 THEN '5'
END as T
FROM XATXDAY_FLIGHT
) temp where to_char(sysdate,'dd') = to_char(to_date(STD_LOCAL,'yyyy-mm-dd hh24:mi:ss'),'dd')--只展示当天
GROUP BY TO_CHAR(TO_DATE(temp.STD_LOCAL,'HH24:MI'),'HH24'),temp.T
order by TO_CHAR(TO_DATE(temp.STD_LOCAL,'HH24:MI'),'HH24'),temp.T

2,按小时进行比较

to_char(to_date(t.create_time,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd') = to_char(sysdate,'yyyy-mm-dd');

1),先把字符串create_time转成标准日期格式,假如字符串create_time只有年月日,那么就转转成to_date(create_time,'yyyy-mm-dd')。主要看create_time是什么格式

2),再转换精确到年月日:yyyy-mm-dd,进行字符串的比较,比如>,<,=

3,按小时显示时间

select to_char(sysdate,'hh24') from dual;//09,就表示早上9点;21,就表示晚上9点

4,查询当天数据

日报数据统计中会用到当天数据的查询,下列就是日期要对应的条件:

between
to_date(to_char(sysdate,'yyyy-mm-dd') || ' 00:00:01','yyyy-mm-dd hh24:mi:ss') and
to_date(to_char(sysdate,'yyyy-mm-dd') || ' 23:59:59','yyyy-mm-dd hh24:mi:ss');

字段类型为varchar2,格式要与格式化的样式匹配

当天
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'yyyymmdd')=to_char(sysdate,'yyyymmdd')
当周
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'iw')=to_char(sysdate,'iw')
当月
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'mm')=to_char(sysdate,'mm')
当季度
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'q')=to_char(sysdate,'q')

字段类型为date

当天
select * from 表名 where to_char(字段名,'dd')=to_char(sysdate,'yyyymmdd')
当周
select * from 表名 where to_char(字段名,'iw')=to_char(sysdate,'iw')
当月
select * from 表名 where to_char(字段名,'mm')=to_char(sysdate,'mm')
当季度
select * from 表名 where to_char(字段名,'q')=to_char(sysdate,'q')

最新文章

  1. 关于WebView的复习
  2. View绘制过程理解
  3. 【转】从RGB色转为灰度色算法
  4. Squid的简单使用
  5. [Angular 2] Using Promise to Http
  6. LINUX 暂停、继续进程
  7. C语言入门(3)——对Hello World程序的解释
  8. java中关于如何运行jar格式程序的说明
  9. leetcode先刷_Search in Rotated Sorted Array II
  10. Js中call apply函数以及this用法
  11. 我使用的Chrome插件列表
  12. 网络与WEB 编程
  13. Android插件化的兼容性(上):Android O的适配
  14. python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)
  15. Xamarin Essentials教程实现数据的传输功能实例
  16. Hadoop 管理工具HUE配置-Hive配置
  17. MySQL数据类型--与MySQL零距离接触2-6数据表
  18. leetcode 343 整数拆分
  19. 百练1678-整数的个数-2015正式A题
  20. .net core开发 (一)

热门文章

  1. .net平台推送ios消息
  2. 在weka中添加libSVM或者HMM等新算法
  3. Vc++内存布局
  4. 通过Intel XDK编写跨平台app(一)
  5. zoj3662Math Magic
  6. MSSQL查找前一天,前一月,前一年的数据,对比当前时间记录查找超过一年,一月,一天的数据
  7. ASP.NET MVC 自定义Razor视图WorkContext
  8. 【linux】FTP添加用户,设置权限和目录
  9. sqlconnection 调用webservice服务
  10. jquery切换class