把YYYYMM varchar2型字段减几个月的UPDATE怎么写 update yourTableset myField=to_char(ADD_MONTHS(to_date(myField,'yyyymm'),-3),'yyyymm'); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --日期相加减(日期相减可以用负号)select sysdate from dual;SYSDATE---------15-JUN-05SQL> select sysdate + 3*365 +1 from dual;SYSDATE+3---------15-JUN-08SQL> select add_months(sysdate,36) from dual;ADD_MONTHS(SYSDATE,-------------------2008-06-15 16:56:19已用时间: 00: 00: 02.23加3年select sysdate + interval '3' year from dual加3年2个月select sysdate + interval '3-2' year to month from dual加10天2小时10分select sysdate + interval '10 2:10' day to minute from dual 楼主采用一下liuyann(liuyann) 的方法应该是可以实现你的要求的! ADD_MONTHS 和 MONTH_BETWEEN 都是很好用的。 回复人: liuyann(liuyann) ( ) 信誉:100 2005-6-30 23:12:17 得分: 0 update yourTableset myField=to_char(ADD_MONTHS(to_date(myField,'yyyymm'),-3),'yyyymm'); 这个应该是正确的. Oracle 如何实现 根据自定义的编码规则产生序列号 使用过dblink的进! 请问如何实现如下统计 Oracle入门书籍 ORA-01502错误 高手帮忙看看SQL中得时间转换问题,谢谢了 一个自连接的问题 求高效查询的解决方案 怎样写一个返回记录的存储过程啊?请举一个简单例子!谢谢,在线等待 求大神 如何去除Oracle数据库中字符串两边的双引号 和空格 oracle9i的服务器和客户端可以安装在一台机器上吗? 如何分区表使用方案?
select sysdate from dual;SYSDATE
---------
15-JUN-05SQL> select sysdate + 3*365 +1 from dual;SYSDATE+3
---------
15-JUN-08SQL> select add_months(sysdate,36) from dual;ADD_MONTHS(SYSDATE,
-------------------
2008-06-15 16:56:19已用时间: 00: 00: 02.23加3年
select sysdate + interval '3' year from dual
加3年2个月
select sysdate + interval '3-2' year to month from dual
加10天2小时10分
select sysdate + interval '10 2:10' day to minute from dual
update yourTable
set myField=to_char(ADD_MONTHS(to_date(myField,'yyyymm'),-3),'yyyymm');
这个应该是正确的.