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子句指定要 ...
随机推荐
- Google Scholar 论文参考文献的自动生成
写论文经常需要写出参考文献,各种格式实在是麻烦的不行啊,在网上看到一个参考文献自动生成的博客,现在转载下来,以备以后自已能用. 主要是使用Google Scholar. Step 1: 打开Googl ...
- Dialog 样式 主题 标题 背景 使用【总结】
最重要的是这两行代码 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);//设置Dialog没有标题,需在setContentView之前设置 ...
- 在JavaScript文件中读取properties文件的方法
假设有JavaScript文件叫做:readproperties.js,这个文件需要读取config.properties这个配置文件,步骤如下: 1. 下载插件jquery.i18n.proper ...
- Mapper 与 Reducer 解析
1 . 旧版 API 的 Mapper/Reducer 解析 Mapper/Reducer 中封装了应用程序的数据处理逻辑.为了简化接口,MapReduce 要求所有存储在底层分布式文件系统上的数据均 ...
- springMVC之增删改查
一.核心原理 1. 用于发送请求给server: /home.htm 2. 请求被DispatchServlet拦截到 3. DispatchServlet通过HandleMapping检查url有没 ...
- jquery easyui validatebox remote使用
validatebox 的validateType可以是一下3个格式: 1字符串 2数组,应用多个验证 3对象,每个key是一个验证名称value是验证的数组参数 下面是代码示例 <input ...
- struts脚本调用action,页面第一次访问不调用
result type 如果是默认 第一次访问页面不会访问action,刷新才会请求 type=redirect 第一次访问会直接访问action 或者在调用地址加 url?+随机数
- Dynamic Proxy (动态代理模式)
动态代理(运行期行为)主要有一个 Proxy类 和一个 InvocationHandler接口 动态代理角色: 1. 抽象主题角色 2. 真实主题角色(实现了抽象主题接口) 3. 动态代理主题角色(实 ...
- chrome打包程序
使用chrome如何打包扩展程序中已经存在的插件及所遇到的问题 CreateTime--2017年7月4日07:41:33 Author:Marydon 一.前言 鉴于本文章的访问量大,特此进行多 ...
- 动画曲线demo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...