加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Oracle SQL表中更新日期

发布时间:2020-12-12 13:52:56 所属栏目:百科 来源:网络整理
导读:我正在尝试更新SQL表中的日期。我正在使用Peoplesoft Oracle。当我运行这个查询: Select ASOFDATE from PASOFDATE; 我得到4/16/2012 我尝试运行这个查询 UPDATE PASOFDATE SET ASOFDATE = '11/21/2012'; 但它不工作。 有谁知道我会如何将日期更改为所需的日
我正在尝试更新SQL表中的日期。我正在使用Peoplesoft Oracle。当我运行这个查询:
Select ASOFDATE from PASOFDATE;

我得到4/16/2012

我尝试运行这个查询

UPDATE PASOFDATE SET ASOFDATE = '11/21/2012';

但它不工作。

有谁知道我会如何将日期更改为所需的日期?

这是基于以下假设:您收到有关日期格式的错误,例如在数字预期时无效的月份值或非数字字符。

数据库中存储的日期没有格式。当您查询您的客户端格式化显示日期的日期,为4/16/2011。通常使用相同的日期格式来选择和更新日期,但在这种情况下,它们看起来是不一样的 – 所以你的客户端显然比SQL * Plus更复杂。

当您尝试更新它时,它使用默认值date format model.由于它的显示方式,您假定是MM / DD / YYYY,但似乎不是。你可以找出它是什么,但最好不要依赖默认或任何隐式的格式模型。

无论是否是问题,您应该始终指定日期模型:

UPDATE PASOFDATE SET ASOFDATE = TO_DATE('11/21/2012','MM/DD/YYYY');

由于您没有指定时间组件 – 所有Oracle DATE列都包含一个时间,即使是午夜,也可以使用date literal:

UPDATE PASOFDATE SET ASOFDATE = DATE '2012-11-21';

您应该检查当前值不包含时间,尽管列名称不表示它。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读