首页 > 数据库 >oracle日期加减的三种方式

oracle日期加减的三种方式

时间:2023-12-18 10:45:42浏览次数:34  
标签:sysdate interval 加减 add 三种 dual year oracle select

  • 直接加减数字

    select sysdate                      当前时间,
           sysdate + 1                  加一天,
           sysdate - 1                  减一天,
           sysdate + (1 / 24)           加一小时,
           sysdate + (1 / 24 / 60)      加一分钟
    from dual;
    
  • 使用add_months()函数

    select sysdate                       当前时间,
           add_months(sysdate, 1)        加一月,
           add_months(sysdate, - 1)      减一月
    from dual;
    
  • 使用interval()函数

    select sysdate                       as 当前时间,
           sysdate + interval '1' year   as 加一年,
           sysdate + interval '-1' year  as 减一年,
           sysdate + interval '1' month  as 加一月,
           sysdate + interval '1' day    as 加一天,
           sysdate + interval '1' hour   as 加一小时,
           sysdate + interval '1' minute as 加一分钟,
           sysdate + interval '1' second as 加一秒
    from dual;
    
  • 这里需要注意的是,interval() 函数的精度问题。

    语法:interval ‘时间差数值’ { year | month | day | hour | minute | secode} (精度数值)
    

    精度数值范围是 1-9,不写默认值是 2,精度不匹配时间差数值会报错.

    select sysdate + interval '100' year from dual; -- ORA-01873: 间隔的前导精度太小

    此时,‘111’ 为 3 位有效数值,该处 year(n), n < 3 就会报错,注意默认 n 是 2.

    select sysdate + interval '100' year(3) from dual;
    
  • 使用add_months加一月和使用interval()加一月的区别

    select add_months(to_date('2023/11/30','yyyy/mm/dd'), 1) from dual;	--返回2023/12/31
    select to_date('2023/11/30','yyyy/mm/dd') + interval '1' month from dual --返回2023/12/30
    

    add_months如果时间参数是那个月的最后一天,再加也是会到结果月的最后一天;interval只是普通的加30天

标签:sysdate,interval,加减,add,三种,dual,year,oracle,select
From: https://www.cnblogs.com/ccx-lly/p/17910511.html

相关文章

  • ROW_NUMBER 开窗函数优化方案(Oracle && PostgreSQL 性能比对)
    帮朋友优化一条很简单的窗口函数ROW_NUMBER()OVER(),Oracle迁移PostgreSQL项目。原始SQL和执行计划STUDENT_BAK表我模拟的数据,3千万行数据。SELECTSTU_ID,STU_NAME,STU_SEX,STU_AGE,STU_DATE,STU_CLASSID,STU_SALFROM(SELECTSB.*, ROW_NUMBER()OVER(P......
  • python 浮点数 round 舍一法 向零取整 df 数组 Series 三种数据类型实现
    介绍:python的round函数,默认进行四舍五入,我需要将3.45保留一位小数,3.4 一、一般格式使用Python的内置函数 math.floor() 来向下取整到指定的小数位数。例如,如果你想保留小数点后一位并向下取整,可以这样做:importmathnum=3.45rounded_num=math.floor(num*10)/......
  • 三种方法带你实现计算器
    一、第一种:普通函数的调用+switch语句#include<stdio.h>voidmenu(){printf("*************************");printf("*****1.add2.sub******");printf("*****3.mul4.div******");printf("*********0.exit*********&quo......
  • WinForm实现管理员权限运行的三种方式
    来源:https://mp.weixin.qq.com/s/ydBWABy7kwOWxNCQu4qYMA 在visualstudio开发winform程序,生成msi安装包以后,代码运行似乎没有问题。但是,若是软件安装到了C盘,软件在执行某些操作,比如写文件、读文件等操作时,有可能会因为操作系统用户权限不足导致读写不成功。关键这时候软件还不......
  • Oracle内核技术揭秘 -- 存储结构
    区:表空间中的基本单位在Oracle11.2.0.3以上的版本中,创建新表默认不会分配区给这个表的,只有在插入了数据之后才会分配一个区给这个表空间。区是表空间中空间分配的基本单位,如果一个区的空间用完了,Oracle就会默认再分配一个区。Oracle专门设定了两种类型的表空间:统一大小表空间和......
  • docker安装oracle
    下载或者加载镜像dockerload<oracle11g.tar创建临时容器dockerrun--nameoracle_temp-p1500:1521--privileged=true-dregistry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latestmkdir-p/home/data/oracle/oradatadockercporacle_temp:/home/oracle/app/or......
  • Oracle 表空间操作相关
    --查看表空间文件信息selectdf.BYTES/1024/1024/1024assize_GB,df.*fromdba_data_filesdfwheredf.TABLESPACE_NAME='GEODATA';--扩展表空间altertablespaceGEODATAadddatafile'E:\APP\ADMINISTRATOR\ORADATA\ORCL\GEODATA34.DBF'size30G;-......
  • 多线程的三种实现方式
    1.什么是多线程有了多线程就可以让程序同时进行多件事情。2.多线程的作用提高效率3.应用场景只要是想多件事情同时运行就需要用到多线程。4.并发和并行并发:在同一时刻,有多个指令在单个cpu上交替运行并行:在同一时刻,有多个指令在多个cpu上同时运行并发和并行有可能同时发生......
  • oracle设置与数据源的 JDBC 连接
    转自https://docs.oracle.com/cloud/help/zh_CN/analytics-cloud/ACSDS/GUID-FB2AEC3B-2178-48DF-8B9F-76ED2D6B5194.htm#ACSDS-GUID-FB2AEC3B-2178-48DF-8B9F-76ED2D6B5194 Oracle数据库要连接到Oracle数据库(非RAC),请使用以下格式的连接字符串:jdbc:oracle:thin:@[ho......
  • navicat链接oracle时报错,检查是否是oci.dll库不匹配的问题
     1:安装Oracle数据库,安装时类型选择共享服务器,不要选专享服务器。2:确定Oracle,Navicat,OracleClient的位数,确保你的oracle数据库的位数与navicat位数一致,即:32v32,64v643:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,在这个页面下载和......