2012-02-14 70 views
1

我有一个数据类型的日期时间列,因此包含为值,例如:06-FEB-12 02.39.11.000000000 PM。我想只修改日期为的日期06-FEB-1225-JAN-12保留时间的所有行。更新只能从日期时间日期 - 甲骨文

我也能这样做,通过更新查询?

回答

5

我对数据类型有点糊涂。幽州列是DATE但您提供的样本数据具有意味着TIMESTAMP分数秒。

您可以从有2012年2月6日,一个DATETIMESTAMP这将产生于1月25日DATETIMESTAMP值的所有行减去正好12天,2012年

UPDATE table_name 
    SET column_name = column_name - interval '12' day 
WHERE trunc(column_name) = date '2012-02-06'; 
+0

我是不是对不起明确。是的,该列是时间戳(6)格式。当我运行查询,我得到的错误'缺失或无效<时间字段> 30089. 00000 - “丢失或无效<时间字段>” *原因:<时间字段>(年,月,日,小时,MINUTE,SECOND)是 预计但未找到,或者指定的 在<间隔限定符>中更有效 比它的。 – 2012-02-14 18:59:54

+0

知道了!你可以请改变查询使间隔文字为'日'而不是'天'。我没有编辑权限 – 2012-02-14 19:20:07

+0

@ darkie15 - 是的,对于那个错字感到抱歉。更新了解决方案的答案。 – 2012-02-14 19:21:46