精华内容
下载资源
问答
  • oracle当前时间减一天
    千次阅读
    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秒

    展开全文
  • 可以对当前日期加年、月、日、时、分、秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒 2 加一个简单的数来增加 3 使用内置函数add_months来增加年和月 例: 对当前日期...
  • oracle怎么将当前时间减一年?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:22
    1.分钟转成不同格式的时间数据库里有个字段存的分钟①现在想显示成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小时)

    展开全文
  • 在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+...
  • 在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:43
    1,函数:ADD_MONTHS(DATE,INTEGER) --将指定时间加上几个月后的时间例如:SELECTADD_MONTHS(SYSDATE,1)FROMDUAL;...--当前时间减1个月,即一个月前的时间。2,对SYSDATE 进行加减一个时间。例如:SE...
  • Oracle日期加

    千次阅读 2022-01-19 13:54:49
    1、运算符操作 直接使用加即可 SELECT SYSDATE "当前时间", SYSDATE + ( 1 ) "当前时间一天", SYSDATE + ( 1 / 24 ) ...当前时间 当前时间一天 当前时间加一小时 当前时间加一分钟 当前时间加一秒钟
  • ------------------------------------------------ Oracle 日期-------------------------------------------- 本季度第一天SELECT to_char(TRUNC(SYSDATE, 'Q'), 'YYYY-MM-DD') FROM dual;-- 上个季度最后一天...
  • --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> ...
  • SQL 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:41
    oracle_日期加方法 在开发中可以很好指定作用
  • 加法select sysdate,add_... --1select 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_...
  • 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,...
  • 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:57
    Oracle 日期加的三种方式
  • select trunc(sysdate, 'month') 本月第一天,trunc(last_day(sysdate)) 本月最后一天,trunc(add_months(sysdate, -1), 'month') 上月第一天,trunc(last_day(add_months(sysdate, -1))) 上月最后一天,trunc(add_...
  • : numtodsinterval(<x>,<c>),x是个数字,c是个字符串, 表明x的单位,这个函数把x转为interval day to second数据类型 常用的单位有 ('day','hour','minute','second') example SQL> select ...
  • 日期增加或减少一年: select sysdate 当前日期, add_months(sysdate, 12) 添加一年, add_months(sysdate, -12) 减少一年 from dual 日期增加或减少一个月: ...select sysdate 当前日期,...日期增加或减少一天...
  • 时间段查询获取本周整个时间段SELECT TRUNC(SYSDATE,'iw') - 1 + ROWNUM FROM DUAL CONNECT BY ROWNUM <= 7获取上周整个时间段SELECT TRUNC(SYSDATE,'iw') - 8 + ROWNUM FROM DUAL CONNECT BY ROWNUM <= 7获取...
  • 需求:需要用当前时间减去创建时间得到个大于3小时/3或者其他时间,我们怎么做呢 首先需要用oracle自己当前时间减去订单字段的创建时间 如下 sysdate - o.BO_CREATEDATE 执行一下看看 以上数字是天数,...
  • 如果只减去一天的话,直接写就可以了。#date -d"yesterday 20150401" +%Y%m%d如果要减去几天,还可以这样写,如果用负数是往前数,#date -d"10 day ago 2015-04-01" +%Y-%m-%d在指定的日期上加上指定的小时[dc@dc010...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,541
精华内容 5,016
关键字:

oracle当前时间减一天