Oracle日期时间格式查询时的相关转换
在Oracle数据库使用过程中,我们可能会用到日期、时间组合查询数据的情况,Oracle和别的数据库不太一样的地方是我们要将值进行转换后才能查询,否则会报错,下面,我们来看看几种常见的日期时间组合查询。
操作方法
- 01
示例准备 我们以一个一个带有日期和时间格式的表来进行相关数据查询。 SELECT * FROM 表名 WHERE ROWNUM=1; 里面有一个out_process_time 表示日期时间的字段可供我们练习。
- 02
查询指定日期(2019/03/04)的数据,默认是这个时期从0点0分开始计算,如下: SELECT * FROM 表名WHERE WORK_ORDER='1000990318' AND PROCESS_ID='200012' AND OUT_PROCESS_TIME>TO_DATE('2019/03/04','YYYY/MM/DD') ORDER BY OUT_PROCESS_TIME;
- 03
如果要指定从几点几分开始计算,则讲上面的时间段语法修改为: OUT_PROCESS_TIME>TO_DATE('2019/03/04 10:00:00','YYYY/MM/DD HH24/MI/SS')
- 04
另外,我们的一些系统中用整数来表示时间,这个要怎么去计算呢?首先要找到时间的定义单位。我们一起来看一个示例。
- 05
在数据库中找到定义这个时间函数,这里是设置了一个参数,数据库的相关整数转换都会用到。一般会发在sys_base表中了。
- 06
接下来看看时间为整数的转换: work_time<14*60/10 这里14表示14时也就是下午两点,60是一小时60分钟10是设定的公共值,也就是前面sys_base表中的时间值。 示例语句及结果: select * from g_sn_count where work_date='20190304' and work_order='1000990318' and process_id='200012' and work_time>(10*60/10)-1 and work_time<14*60/10