oracle中的一个日期问题

oracle中的一个日期问题

需求:针对表coursedecimal中的course_time字段,日期在2010年6月份之前的全部加上12个月,也就是改成2011年的。
实现:
update coursedecimal  set course_time=add_months(course_time,12) where course_time<to_date('2010-06-01','yyyy-mm-dd');

注:add_months()是oracle中自带的函数。 使用to_date()时一定要注意指定格式。
如果在使用的过程中报错,出现:

ORA-01861: 文字与格式字符串不匹配
01861. 00000 - "literal does not match format string"
*Cause: Literals in the input must be the same length as literals in
the format string (with the exception of leading whitespace). If the
"FX" modifier has been toggled on, the literal must match exactly,
with no extra whitespace.
*Action: Correct the format string to match the literal.

此时需要修改一下oracle中日期格式化的设置
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';


这样就OK了.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值