oracle对日期date类型操作的函数
无论是DATE还是timestamp都可以进行加减操作
- 加一个简单的数来增加天
- max,min来求其最大最小日期
- avg,sum就只能先转成数字类型才可用
- 使用内置函数add_months来增加年和月
- 使用内置函数numtoyminterval增加年,月
- 使用内置函数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
转载于:https://www.cnblogs.com/rdchen/p/10482132.html
oracle对日期date类型操作的函数相关推荐
- Oracle中日期Date类型格式的转化
转成long型: select (FIRSTARRIVALTIME - to_date('1970-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) *24*60 ...
- JAVA将十位时间戳格式化为日期Date类型
一.十位数字格式时间戳格式化为日期Date类型 public static String timeStamp2Date(String seconds,String format) { if(secon ...
- oracle对大对象类型操作:blob,clob,nclob,bfile
在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob.下面是对lob数据类型的简单介绍.blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据 ...
- oracle模糊匹配date类型日期,SQL时间类型模糊查询
SQL时间类型模糊查询 数据库类型为DateTime类型,将其做模糊查询时,在Hibernate中,可以用拼SQL的问题将其解决,即在SQL查询分析器写SQL一样,但是利用参数配置,则方法如下: 1. ...
- Oracle:管理 date类型 interval 动态变化的分区:查询、删除
-- 创建临时表,目的是获取long类型的:high_value 的值 drop table syscom_tab_partition_temp purge ;create table prm8_us ...
- Java String和Date的转换 Date类型操作
String->Date String dateString = "2012-12-06 "; try {SimpleDateFormat sdf = new SimpleD ...
- Oracle数据库日期格式转换操作
1. 日期转化为字符串 (以2016年10月20日为例) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') strDateTime from dual; ...
- odoo里用sql语句说为日期date类型,没有转换为字符串。
开始我以为是日期now没有转换为string,一直在转换 now = time.strftime("%Y-%m-%d %H:%M:%S")param = (now, id)# 第一 ...
- 03Java常用API-16. 日期Date类型及其常用方法
Date类概述 Date 代表了一个特定的时间,精确到毫秒 Date类构造方法 方法名 说明 public Date() 分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒 pub ...
最新文章
- 100G光接口模式转换器
- Leetcode 42.接雨水 (每日一题 20210629)
- ocp 042 第六章:管理用户安全性
- 如何将Emacs添加到右键菜单并显示为“烤肉”
- linux date修改系统时间
- CentOS硬盘挂载之fdisk命令进行查看/分区/格式化/挂载
- Zabbix 添加WEB监控(学习笔记十一)
- cassandra随机获取数据_Cassandra维护最终一致性 和存储机制 分区策略
- linux定时器tinner,第三章 套接字相关数据结构--基于Linux3.10
- SpringMVC+Thymeleaf如何处理URL中的动态查询参数
- Python 数值求解偏微分方程(含两个示例)
- cad2019菜单栏怎么调出来_AutoCAD2019工具栏怎么调出来 工具栏没了找不到解决方法...
- UE4蓝图学习篇(一)
- iOS小知识:nib本地化、图片本地化字符串本地化(APP 内的本地化切换)
- 服务器地址为空,dns服务器地址为空
- 熵权法与Apriori算法对较多数据种类数据的处理
- yolov3与yolov4效果对比_知识精讲 | Yolov3和Yolov4核心内容、代码梳理_创事记(5)
- Unity3d vector3.forward和transform.forward的区别!
- jsp 爱心宠物诊所源码_jsp宠物医院信息管理系统
- EasyUIcombobox回填