-
2020-05-18 18:56:02
Select TO_CHAR(Sysdate-1, 'YYYY-MM-DD') From Dual;
更多相关内容 -
将Oracle当前日期加减一天、一分钟
2022-04-05 17:28:23在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,...sysdate+1 加一天 sysdate+1/24 加1小时 sysdate+1/(24*60) 加1分钟 sysdate+1/(24*60*60) 加1秒钟 类推至毫秒0.001秒 加法 select sysdate,add_mon.在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual
在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual ,
sysdate+1 加一天
sysdate+1/24 加1小时
sysdate+1/(24*60) 加1分钟
sysdate+1/(24*60*60) 加1秒钟
类推至毫秒0.001秒加法
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期
select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小时
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分钟
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒
减法
select sysdate,add_months(sysdate,-12) from dual; --减1年
select sysdate,add_months(sysdate,-1) from dual; --减1月
select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual; --减1星期
select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual; --减1天
select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --减1小时
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1分钟
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1秒 -
ORACLE中的日期加减操作实例介绍
2021-01-21 15:11:51可以对当前日期加年、月、日、时、分、秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 加一个简单的数来增加天 3 使用内置函数add_months来增加年和月 例: 对当前日期... -
oracle日期减一年 oracle指定日期减一天
2021-05-04 07:55:00oracle怎么将当前时间减一年?1. 打开PLSQL,连接Oracle数据库,用SQL语句创建测试表。这里只做了演示,所以不创建主键和索引。;2. 使用SQL语句将3行测试数据插入到上一步创建的测试表中,并使用系统的当前时间插入...oracle怎么将当前时间减一年?
1. 打开PLSQL,连接Oracle数据库,用SQL语句创建测试表。这里只做了演示,所以不创建主键和索引。;
2. 使用SQL语句将3行测试数据插入到上一步创建的测试表中,并使用系统的当前时间插入日期字段。;
3. 执行SQL之后,请记住单击submit按钮将更改提交到数据库以进行保存。否则,数据将不会存储在数据库中。;
4. 提交后,查询刚才插入的数据。;
5. 修改第一行中update字段的值。此时,直接拼接日期格式的字符串更新,Oracle无法执行。;
6. 修改第一行中update字段的值,将字符串的日期转换为日期类型,然后修改它以更新它。;
7. 修改第一行中更新字段的值,从当前日期减去一年。
Oracle数据库当前时间减去7年的时间如何操作?
1. 创建一个新的HTML文档并创建一个日期对象。
2. 从对象获取当前小时值。
3. 从对象获取当前分钟值,示例代码:VAR minute=对象获取分钟数()警报(分钟)。
4。在屏幕上打印当前时间,示例代码:文档.写入(当前时间为:时、分、分、秒、秒)。
5. 保存以上内容,甲骨文将把当前时间缩短一年。
oracle取当天日期减一天,应该如何写?
1. 创建测试表,
创建表testsysdate(vInsert into testsysdate values(sysdate)
Insert into testsysdate values(sysdate-1)
Insert into testsysdate values(sysdate-1.1)
Insert into testsysdate values(sysdate-1.2)
Insert into testsysdate values(sysdate-2)
Insert into testsysdate values(sysdate-3)。从testSysdate T中选择T.*,ROWID,
4。编写SQL查询前一天的记录,选择T.*,ROWID from testsysdate T where tochar(vudate,“yyyymmdd”)=tochar(sysdate-1,“yyyymmdd”)
-
oracle 时间相加减
2021-05-03 06:05:221.分钟转成不同格式的时间数据库里有个字段存的分钟①现在想显示成HH:MM格式假设为514分钟SELECTto_char((to_date('00:00','HH24:MI')+514/24/60),'HH24:MI')fromdual输出结果:08:34②如果存的是秒同理SELECTto_...1.分钟转成不同格式的时间
数据库里有个字段 存的分钟
① 现在想显示成HH:MM格式 假设为514分钟
SELECT to_char((to_date('00:00','HH24:MI')+514/24/60),'HH24:MI') from dual
输出结果:
08:34
②如果存的是秒 同理
SELECT to_char((to_date('00:00:00','HH24:MI:SS')+514/24/60/60),'HH24:MI:SS') from dual
输出结果:
00:08:34
至于显示成其他的格式,也就不成问题了
2.时分相加
至于为什么要写这个,是因为oracle里没有两个时间相加的处理,两个to_date相减可以,相加就出错了:数据库里有两个字段 存的都是HH:MM格式的时间
假设一个是本月上午缺勤时间合计: 08:30(8个半小时)
另外一个是本月下午缺勤时间合计: 00:30(半小时)
现在想要总缺勤时间,显示成 HH:MM格式
做法有两种
① 正常的逻辑运算(代码或者PLSQL实现的应该比这个容易的多,仅限于SQL实现):
select LPAD((substr('08:30',1,2) + substr('00:30',1,2)+(substr('08:30',length('08:30')-1,2)+substr('00:30',length('00:30')-1,2))/60),2,'0') || ':' ||
LPAD(mod((substr('08:30',length('08:30')-1,2)+substr('00:30',length('00:30')-1,2)),60),2,'0') from dual
看起来很复杂,而实际上就是把小时相加,分钟相加,之后把分钟满60的小时进位,取余的显示:
取前两位相加得小时:(是因为不确定数据储存的格式是不是严格的HH:MM,而不能借正则分隔“:”)(substr('08:30',1,2) + substr('00:30',1,2)
取后两位相加得分钟:
(substr('08:30',length('08:30')-1,2)+substr('00:30',length('00:30')-1,2))
把分钟满60的小时进位得显示用的小时:
(substr('08:30',length('08:30')-1,2)+substr('00:30',length('00:30')-1,2))/60
现在小时算完了,不足两位左补零: LPAD((substr('08:30',1,2) + substr('00:30',1,2)+(substr('08:30',length('08:30')-1,2)+substr('00:30',length('00:30')-1,2))/60),2,'0')
把分钟取余得显示用的分钟:
mod((substr('08:30',length('08:30')-1,2)+substr('00:30',length('00:30')-1,2)),60)
现在分钟算完了,不足两位左补零:
LPAD(mod((substr('08:30',length('08:30')-1,2)+substr('00:30',length('00:30')-1,2)),60),2,'0')
最后连上“:”就变成上述的SQL,得到的时间用HH:MM显示了
输出结果:
09:00
②函数实现:
SELECT to_char(to_date('00:00','HH24:MI') +(((to_date('08:30','HH24:MI') - trunc(to_date('08:30','HH24:MI'))) *24*60 + (to_date('00:30','HH24:MI') - trunc(to_date('00:30','HH24:MI'))) *24*60)/24/60),'HH24:MI') from dual
同样看起来很复杂
首先把HH:MM的换成数值:
to_date('08:30','HH24:MI') - trunc(to_date('08:30','HH24:MI'))
输出结果:.354166666666666666666666666666666666666(其实是代表了一个时间,是以天为单位的)
现在
*24*60
把数值换成分钟:
(to_date('08:30','HH24:MI') - trunc(to_date('08:30','HH24:MI'))) *24*60
输出结果:510
也就是把
08:30 变成了510分
(to_date('00:30','HH24:MI') - trunc(to_date('00:30','HH24:MI'))) *24*60
输出结果:30(时间是.020833333333333333333333333333333333333)这两个
也就是把00:30 变成了30分
然后把两个分钟相加:
((to_date('08:30','HH24:MI') - trunc(to_date('08:30','HH24:MI'))) *24*60 + (to_date('00:30','HH24:MI') - trunc(to_date('00:30','HH24:MI'))) *24*60)
输出结果:
540
剩下的就是显示处理了,和1里面的做法一致:
to_char(to_date('00:00','HH24:MI') +(((to_date('08:30','HH24:MI') - trunc(to_date('08:30','HH24:MI'))) *24*60 + (to_date('00:30','HH24:MI') - trunc(to_date('00:30','HH24:MI'))) *24*60)/24/60),'HH24:MI')
输出结果:
3.
不论是方法①还是方法②,
这里都存在一个问题:如果时间相加之后超出23:59,系统就会报错,目前我用的涉及不到这个 就没写出来,如果有用到的直接再转成DD:HH:MM的格式就行了,也就是把小时数满24的进位取显示用的天
SELECT to_char(to_date('01 00:00','DD HH24:MI') +(((to_date('23:30','HH24:MI') - trunc(to_date('23:30','HH24:MI'))) *24*60 + (to_date('01:30','HH24:MI') - trunc(to_date('01:30','HH24:MI'))) *24*60)/24/60-1),'DD HH24:MI') from dual
输出结果:01 01:00(25小时)
-
Oracle的时间操作增加减少一天以及时间函数解析
2019-08-03 19:22:04在Oralce中我发现有add_months函数,加天数N可以...sysdate+1 加一天 sysdate+1/24 加1小时 sysdate+1/(24*60) 加1分钟 sysdate+1/(24*60*60) 加1秒钟 类推至毫秒0.001秒 加法 select sysdate,add_months(sysdate,1... -
ORACLE 时间加减操作
2021-05-07 11:31:53操作不同的时间类型,有三种方法:1 使用内置函数numtodsinterval增加小时,分钟和秒2 加一个简单的数来增加天3 使用内置函数add_months来增加年和月例:对当前日期增加一个小时:SQL> select sysdate, sysdate+... -
如何将Oracle 当前日期加一天、一分钟
2021-05-07 13:40:35在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dualsysdate+1 加一天sysdate+1/24 加1小时sysdate+1/(24*60) 加1分钟sysdate+1/(24*60*60) 加1秒钟类推至毫秒0.001秒加法... -
Oracle 时间加减
2021-04-30 07:59:431,函数:ADD_MONTHS(DATE,INTEGER) --将指定时间加上几个月后的时间例如:SELECTADD_MONTHS(SYSDATE,1)FROMDUAL;...--当前时间减1个月,即一个月前的时间。2,对SYSDATE 进行加减一个时间。例如:SE... -
Oracle日期加减
2022-01-19 13:54:491、运算符操作 直接使用加减即可 SELECT SYSDATE "当前时间", SYSDATE + ( 1 ) "当前时间加一天", SYSDATE + ( 1 / 24 ) ...当前时间 当前时间加一天 当前时间加一小时 当前时间加一分钟 当前时间加一秒钟 -
oracle有关时间计算,得到季度第一天、最后一天
2021-05-05 06:43:27------------------------------------------------ Oracle 日期-------------------------------------------- 本季度第一天SELECT to_char(TRUNC(SYSDATE, 'Q'), 'YYYY-MM-DD') FROM dual;-- 上个季度最后一天... -
ORACLE日期时间加减计算
2021-05-07 05:02:32--减1秒 ORACLE时间函数(SYSDATE)简析 1:取得当前日期是本月的第几周 SQL> select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from dual; TO_CHAR(SYSDATE,'YY ------------------- 20030327 4 18:16:09 SQL> ... -
请问Oracle窗口函数求当前时间向前推30天的平均值?
2021-04-30 08:45:18SQL codewith t1 as(select '1' 编号,'20121127' 日期,'2' 数值 from dual union allselect '2', '20121128','1' from dual union allselect '3', '20121129','3' from dual union allselect '4', '20121130','4' ... -
oracle_日期_加减方法
2015-09-25 15:53:41oracle_日期加减方法 在开发中可以很好指定作用 -
如何将Oracle 当前日期加一年一月一天一分钟...
2021-05-02 02:58:20加法select sysdate,add_... --减1天select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --减1小时select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1分钟 -
oracle日期加减
2021-05-03 01:47:14--减1天 select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --减1小时 select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1分钟 select sysdate,to_... -
将Oracle 当前日期加一天、一小时、一分钟
2021-05-01 01:45:09sysdate+1 加一天sysdate+1/24 加1小时sysdate+1/(24*60) 加1分钟sysdate+1/(24*60*60) 加1秒钟类推至毫秒0.001秒加法select sysdate,add_months(sysdate,12) from dual; --加1年select sysdate,add_months(sysdate,... -
oracle时间加减操作
2019-09-18 02:10:36当前时间减去7天的时间 select sysdate - interval '7' day from dual 当前时间减去7月的时间 select sysdate,sysdate - interval '7' month from dual 当前时间减去7年的时间 select sysdate,... -
Oracle 日期加减的三种方式
2021-12-27 20:33:57Oracle 日期加减的三种方式 -
oracle本月、上月、去年同月第一天最后一天
2021-05-07 08:00:41select trunc(sysdate, 'month') 本月第一天,trunc(last_day(sysdate)) 本月最后一天,trunc(add_months(sysdate, -1), 'month') 上月第一天,trunc(last_day(add_months(sysdate, -1))) 上月最后一天,trunc(add_... -
oracle中常用的 SQL语句中进行时间加减
2022-04-27 09:30:12一: numtodsinterval(<x>,<c>),x是一个数字,c是一个字符串, 表明x的单位,这个函数把x转为interval day to second数据类型 常用的单位有 ('day','hour','minute','second') example SQL> select ... -
Oracle日期增加或减少一年、一个月、一天
2020-10-29 23:01:38日期增加或减少一年: select sysdate 当前日期, add_months(sysdate, 12) 添加一年, add_months(sysdate, -12) 减少一年 from dual 日期增加或减少一个月: ...select sysdate 当前日期,...日期增加或减少一天... -
【历史最全】oracle 获取相应时间 (本周、上周、本月、上月、最近7、30、90天)
2021-04-30 08:45:03时间段查询获取本周整个时间段SELECT TRUNC(SYSDATE,'iw') - 1 + ROWNUM FROM DUAL CONNECT BY ROWNUM <= 7获取上周整个时间段SELECT TRUNC(SYSDATE,'iw') - 8 + ROWNUM FROM DUAL CONNECT BY ROWNUM <= 7获取... -
oracle当前时间减去记录的生成时间差值计算
2021-09-27 15:17:27需求:需要用当前时间减去创建时间得到一个大于3小时/3天或者其他时间,我们怎么做呢 首先需要用oracle自己当前时间减去订单字段的创建时间 如下 sysdate - o.BO_CREATEDATE 执行一下看看 以上数字是天数,... -
案例一:shell脚本指定日期减去一天
2021-05-08 12:31:05如果只减去一天的话,直接写就可以了。#date -d"yesterday 20150401" +%Y%m%d如果要减去几天,还可以这样写,如果用负数是往前数,#date -d"10 day ago 2015-04-01" +%Y-%m-%d在指定的日期上加上指定的小时[dc@dc010...