oracle时间操作结合to_char和to_date使用
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')

oracle时间操作结合to_char和to_date使用的更多相关文章
- oracle的to_number、to_char、to_date用法
TO_DATE 是把字符串转换为数据库中得日期类型转换函数TO_CHAR 是把日期或数字转换为字符串TO_NUMBER 将字符转化为数字 TO_DATE使用TO_DATE函数将字符转换为日期TO_DA ...
- oracle中TO_CHAR与TO_DATE
TO_CHAR 是把日期或数字转换为字符串TO_DATE 是把字符串转换为数据库中得日期类型转换函数 TO_DATE格式(以时间:2016-07-25 11:45:25为例) Year: yy t ...
- Oracle中对时间操作的一些总结
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟5小时 sysdate+5 ...
- Oracle日期时间操作大全
本文出自:http://www.cnblogs.com/hl3292/archive/2010/11/03/1868159.html oracle sql日期比较: 共三部分: 第一部分:oracle ...
- 【Oralce】时间操作
加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1 ...
- Oracle字符串操作[转:http://www.cnblogs.com/xd502djj/archive/2010/08/11/1797577.html]
ORACLE 字符串操作 1 字符串连接 SQL> select 'abc' || 'def' from dual; 'ABC'|------abcdef 2 小写SQL>select ...
- ORACLE时间日期格式使用总结(参考网上资料汇总)
Oracle时间日期操作 sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdate+5/24 在系统时间基础上延迟 ...
- ORACLE日常操作手册
转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...
- JAVA-Unit02: Oracle字符串操作 、 Oracle数值操作 、 Oracle日期操作 、 空值操作
Unit02: Oracle字符串操作 . Oracle数值操作 . Oracle日期操作 . 空值操作 DQL数据查询语言 查询语句基本由SELECT子句由FROM子句构成. SELECT子句指定要 ...
随机推荐
- javascript实现浏览器窗口传递参数
a.html <html> <head> <title>主页面</title> <script language="javascript ...
- PHP实现双向链表
看了很久数据结构但是没有怎么用过,在网上看到了关于PHP的数据结构,学习了一下,与大家一起分享一下.上一次分享了链表,这次来补充说一下双向链表. 简短不割 ...
- Virtualbox中Linux添加新磁盘并创建分区
原文:https://www.linuxidc.com/Linux/2017-01/139616.htm ----------------------------------------------- ...
- Grunt的配置及使用(压缩合并js/css)
Grunt的配置及使用(压缩合并js/css) 安装 前提是你已经安装了nodejs和npm. 你能够在 nodejs.org 下载安装包安装.也能够通过包管理器(比方在 Mac 上用 homebre ...
- Spring MVC 使用拦截器 HiddenHttpMethodFilter配置Rest风格的URL
<!-- 4.使用Rest风格的URI,将页面普通的post请求转为指定的delete或者put请求 --> 详细使用请参考这篇博客:地址:http://blog.csdn.net/ppl ...
- JavaScript数组方法说明
JavaScript的数组方法有: http://www.w3school.com.cn/jsref/jsref_obj_array.asp 其中:concat.join和slice方法都不会修改原数 ...
- JavaScript ,Css and Jquery In OpenERP 7.0
From: http://openerpbay.blogspot.jp/2013/02/javascript-css-and-jquery-in-openerp-70.html Hi fellows, ...
- java web 中的MVC
M:相当于Bean V:jsp C:servlet 当客户端发来请求,servlet响应请求处理请求,并把要发送给客户端的数据封装到Bean中,然后通过转发,将这个封装好了数据Bean送给jsp,js ...
- 如何读取xml文件,根据xml节点属性查询并输出xml文件
主要是应用SimpleXML和递归函数来根据key值来查询,并将结果以xml格式输出. <?php header("Content-type: text/xml"); //以 ...
- appframework学习--nav的使用说明
app-framework学习--nav的使用说明: 语法: <nav id="mynav" style="background-image:url(../imag ...