oracle 中日期的加减
2015-08-10 15:10
555 查看
加法
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秒
日期与日期之间不能相加
日期与数字就可相加
SQL> select sysdate+1 from dual;
日期与日期可以相减
SQL> select sysdate-sysdate from dual;
Add_Months(D,X)
返回D日期加上X个月后的日期
Last_Day(D)
返回包含日期D的月份的最后一天的日期
add_months(sysdate,1)加一个月
add_months(sysdate,-1)减一个月
sysdate+1 加一天
-------------------------------------------------------------------------------
Months_Between(D1,D2)
返回D1、D2之间的月份数目
New_Time(D,Z1,Z2)
返回时区Z1里时间为D时Z2时区的时间
Next_Day(D,S)
返回满足条件S的下一天
S为星期几
Round(D,F)
日期D按照格式F进行舍入
Sysdate
返回数据库当前时间
Trunc(D,F)
按照格式F截断时间D
另外:日期可以直接加减
如:sysdate +1,sysdate -1
------------------------------------------------------------
sysdate+1 加一天
sysdate+1/24 加1小时
sysdate+1/(24*60) 加1分钟
sysdate+1/(24*60*60) 加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秒
减法
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秒
日期与日期之间不能相加
日期与数字就可相加
SQL> select sysdate+1 from dual;
日期与日期可以相减
SQL> select sysdate-sysdate from dual;
Add_Months(D,X)
返回D日期加上X个月后的日期
Last_Day(D)
返回包含日期D的月份的最后一天的日期
add_months(sysdate,1)加一个月
add_months(sysdate,-1)减一个月
sysdate+1 加一天
-------------------------------------------------------------------------------
Months_Between(D1,D2)
返回D1、D2之间的月份数目
New_Time(D,Z1,Z2)
返回时区Z1里时间为D时Z2时区的时间
Next_Day(D,S)
返回满足条件S的下一天
S为星期几
Round(D,F)
日期D按照格式F进行舍入
Sysdate
返回数据库当前时间
Trunc(D,F)
按照格式F截断时间D
另外:日期可以直接加减
如:sysdate +1,sysdate -1
------------------------------------------------------------
sysdate+1 加一天
sysdate+1/24 加1小时
sysdate+1/(24*60) 加1分钟
sysdate+1/(24*60*60) 加1秒钟
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解