【发布时间】:2015-04-09 03:40:15
【问题描述】:
我遇到了一个更新语句的问题,该语句以前在 Oracle 9i 中有效,但现在它不更新 Oracle 11G 中的任何行。这是我正在使用的声明。
update account
set
days_to_validate = validated_date - val_requested_Date
where
validated_date >= val_requested_date
validated_date 和 val_requested_date 都是日期字段,格式为:dd-mmm-yyyy(2015 年 3 月 18 日)。在我们进行升级之前,这在 Oracle 9i 中早期工作。
请就我们如何解决此问题提出建议。
谢谢 普拉桑特
【问题讨论】:
-
它们是日期字段吗?还是它们是存储日期的 varchar 字段?
-
请提供
account表的定义,例如create table声明。 -
大家好,我能够解决这个问题。我尝试包含“to_date”函数,它在 Oracle 11G 中工作。这是我对查询所做的更改。
-
错过了我之前评论中的查询:update account set days_to_validate=to_date(validated_date)-to_date(val_requested_Date) where to_Date(validated_date)>= to_date(val_requested_date)