【发布时间】:2013-04-17 10:34:13
【问题描述】:
我们有一种情况,我们在 Oracle DB 中有一个表(比如 Forms),其中有一个类型为 date 的列(比如 edition_date)。严格来说,它是以 YYYY-MM-DD(例如:2012-11-23)格式保存日期信息,没有时间戳值。
不幸的是,由于代码问题,创建了许多带有时间戳值的行。该表中有大量记录,我只想更新那些包含这些不良数据的行。我可以使用查询来做到这一点
UPDATE forms SET edition_date = TRUNC( edition_date )
我想给它添加一个 where 子句,所以它只更新坏数据。问题是,我不确定如何检索那些添加了时间戳的行。以下是我拥有的数据的快照:
FORM_ID EDITION_DATE
5 2012-11-23
6 2012-11-23 11:00:15
..
11 2010-07-11 15:23:22
..
13 2011-12-31
我只想检索表单 ID 为 6 和 11 的行。我尝试使用长度函数,但我认为这仅适用于字符串。有没有办法做到这一点。感谢任何可以帮助我的人。
【问题讨论】: