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子句指定要 ...
随机推荐
- CSS_LESS 语法/函数详解
嵌套规则 01 #header { color: black; }#header .navigation { font-size: 12px; 02 }#header .logo { 03 w ...
- 解决Vue用Nginx做web服务器报错favicon.ico 404 (Not Found)的问题
有多种解决方案 1.vue静态资源 vue中为网页增加favicon的最便捷的方式为使用link标签 <link rel="shortcut icon" type=" ...
- Android触控屏幕Gesture(GestureDetector和SimpleOnGestureListener的使用教程) 分类:Androidandroid实例
1.当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(Vie ...
- (笔试题)N!的三进制数尾部0的个数
题目: 用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0. 思路: 这道题与上一篇博文N!尾部连续0的个数的思路是一样的. 计算N!下三进制结果末尾 ...
- JVM: can not create native thread
检查系统限制,并根据需要修改过低的值: echo "100000" > /proc/sys/kernel/threads-max echo "100000" ...
- Myeclipse2013下载,安装,破解,介绍(CSDN首发)
MyEclipse 2013新特性 根据官方最新消息,MyEclipse 2013已经正式发布!MyEclipse 2013支持HTML5.JQuery和主流的Javascript 库. 随着MyEc ...
- tomcat支持中文文件名下载
http://blog.csdn.net/wnczwl369/article/details/7483806 Tomcat 是Java开发者使用得较多的一个Web服务器,因为它占用资源小,运行速度快等 ...
- HTML 事件属性(如:onsubmit)
学习啥都需要一个基础 基础很重要: HTML 4 的新特性之一是可以使 HTML 事件触发浏览器中的行为,比方说当用户点击某个 HTML 元素时启动一段 JavaScript. 在现代浏览器中都内置有 ...
- mysql优化 慢查询(一)
1.显示慢查询的一些参数的命令:show variables like '%slow%';结果如图
- IO多路复用之epoll
1.基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本.相对于select和poll来说,epoll更加灵活,没有描述符限制.epoll使用一个文件描述符管理多个描述 ...