无论是DATE还是timestamp都可以进行加减操作

  1. 加一个简单的数来增加天
  2. max,min来求其最大最小日期
  3. avg,sum就只能先转成数字类型才可用
  4. 使用内置函数add_months来增加年和月
  5. 使用内置函数numtoyminterval增加年,月
  6. 使用内置函数numtodsinterval增加小时,分钟和秒

umtoyminterval函数——数字转换函数

语法:NUMTOYMINTERVAL ( n , 'char_expr' )
char_expr:日期描述,可以是YEAR和MONTH
作用:可以将数字转换成相应的日期单位时间
NUMTOYMINTERVAL ( 1, 'MONTH' ) 表示一个月
NUMTOYMINTERVAL ( 1, 'YEAR' ) 表示一年

numtodsinterval函数——数字转换函数

语法:NUMTOYMINTERVAL ( n , 'char_expr' )
char_expr:日期描述,可以是day、hour、minute、second
作用:可以将数字转换成相应的日期单位时间
NUMTOYMINTERVAL ( 1, 'day' ) 表示一天
NUMTOYMINTERVAL ( 1, 'hour' ) 表示一个小时

通常当我们使用add_month添加月时,如果输入是本月月底的日期,那么得到的也是月底的日期,
比如add_months(to_date('2007-02-28','yyyy-mm-dd'),1)得到的就会是'2007-03-31',而不是'2007-03-28'。
此时,如果使用的是to_date('2007-02-28','yyyy-mm-dd')+numtoyminterval(1,'month'),那么得到的就是'2007-03-28'。

例子示范

对当前日期增加一个小时:
SQL> select sysdate, sysdate+numtodsinterval(1,’hour’) from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:38:19 2010-10-14 22:38:19
对当前日期增加50分种
SQL> select sysdate, sysdate+numtodsinterval(50,’minute’) from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:39:12 2010-10-14 22:29:12
对当前日期增加45秒
SQL> select sysdate, sysdate+numtodsinterval(45,’second’) from dual ;

SYSDATE             SYSDATE+NUMTODSINTE
——————- ——————-
2010-10-14 21:40:06 2010-10-14 21:40:51
对当前日期增加3天
SQL> select sysdate, sysdate+3 from dual ;

SYSDATE             SYSDATE+3
——————- ——————-
2010-10-14 21:40:46 2010-10-17 21:40:46
对当前日期增加4个月
SQL> select sysdate, add_months(sysdate,4) from dual ;

SYSDATE             ADD_MONTHS(SYSDATE,
——————- ——————-
2010-10-14 21:41:43 2011-02-14 21:41:43

当前日期增加2年
SQL> select sysdate, add_months(sysdate,12*2) from dual ;

SYSDATE             ADD_MONTHS(SYSDATE,
——————- ——————-
2010-10-14 21:42:17 2012-10-14 21:42:17

timestamp的操作方法与上面类似;
求两个日期之差:
例:求2007-5-23 21:23:34与当前时间之间的差值。
SQL> select sysdate-to_date(’20070523 21:23:34′,’yyyy-mm-dd hh24:mi:ss’) dt from
dual ;

DT
———-
1240.01623

oracle对日期date类型操作的函数的更多相关文章

  1. 在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)

    转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...

  2. java 日期Date类型比较大小

      java 日期Date类型比较大小 CreateTime--2018年5月31日16点39分 Author:Marydon import java.text.DateFormat; import ...

  3. Oracle中日期时间的操作比较和加减-入门基础(转)

    Oracle关于时间/日期的操作     1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual ...

  4. java web中日期Date类型在页面中格式化显示的三种方式

    一般我们经常需要在将服务器端的Date类型,传到页面进行显示,这就涉及到一个如何格式化显示Date类型的问题,一般我们有三种方式进行: 1)在服务端使用SimpleDateFormat等类格式化成字符 ...

  5. oracle对大对象类型操作:blob,clob,nclob

     1.基本介绍 Oracle和plsql都支持lob(large object) 类型,用来存储大数量数据,如图像文件,声音文件等.Oracle 9i realse2支持存储最大为4g的数据,or ...

  6. Oracle数据库日期格式转换操作

    1. 日期转化为字符串 (以2016年10月20日为例) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')  strDateTime from dual; ...

  7. Java String和Date的转换 Date类型操作

    String—>Date String dateString = "2012-12-06 "; try { SimpleDateFormat sdf = new Simple ...

  8. PHP转换oracle数据库的date类型

    今天圣诞节啊,圣诞节快乐啊! 最近遇到一个很纠结的事,就是我在plsql里面查的是这样的,很正常, 但是我用程序查出来就是这样的,啊啊啊,真是崩溃啊 但是我传数据需要上面那种格式,而且我对oracle ...

  9. 时间日期Date类型

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

随机推荐

  1. WPF之依赖属性和附加属性

     参考资料: 一站式WPF--依赖属性(DependencyProperty)一 一站式WPF--依赖属性(DependencyProperty)二         依赖属性之我见: 这两篇文章介绍的 ...

  2. iOS shell脚本打包

    原文链接:http://www.jianshu.com/p/5abbe0d61cef 参考链接:http://blog.csdn.net/potato512/article/details/52176 ...

  3. Rsync实现多台Windows工作电脑文件同步

    你要准备的软件有: 最新版 Rsync for windows 服务端:cwRsync_Server_2.1.5_Installer.zip 客户端:cwRsync_2.1.5_Installer.z ...

  4. [Android] 基于 Linux 命令行构建 Android 应用(一):关于 Android 项目

    关于 Android 项目 项目是保存源代码和资源文件的容器. 谷歌提供的 Android SDK 工具只能对具有固定目录结构的项目进行编译和打包.因此强烈建议使用 Eclipse + ADT 或者 ...

  5. [Python]编程之美

    Task 1 : 首字母大写 import re #python 正则表达式包:re s='hello world' s=re.sub(r"\w+",lambda match:ma ...

  6. 【python】并查集

    转自:http://blog.csdn.net/rav009/article/details/12781899 # -*- coding: UTF-8 -*- class unionfind: def ...

  7. 正确停掉 expdp 或 impdp

    1.查看视图dba_datapump_jobs SQL> set line 200 SQL> select job_name,state from dba_datapump_jobs; J ...

  8. Ingeter与int的比较

    ,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false? 首 ...

  9. vscode 的 vue模板

    12 { "Print to console": { "prefix": "vue", "body": [ " ...

  10. solus 系统 - 安装编译工具

    将会安装 gcc,make等工具 sudo eopkg install -c system.devel VirtualBox工具 https://solus-project.com/articles/ ...