在Oracle SQL表中更新日期

前端之家收集整理的这篇文章主要介绍了在Oracle SQL表中更新日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试更新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';

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

原文链接:https://www.f2er.com/oracle/205793.html

猜你在找的Oracle相关文章