【发布时间】:2018-11-23 14:14:10
【问题描述】:
我在 oracle 12c db 中有一张表,其中一列是 varchar2 数据类型,但值是 DATE 格式。并且由于某种错误,混合了两种不同类型的格式。 基本上我必须在那里更改格式并使所有值相似。 正确的格式是 "2018-11-21-02.57.26.00" 但有些值是这样的:"11/21/2018 20:03:10.066414" 我们需要所有的值都应该是正确的格式。需要为此准备一份更新声明。
我已经准备了这样的选择语句。 Create_TS 应更新为 Create_TS_NEW 仅适用于 CREATE_TS 具有 '%/%' 的行 我需要知道我是否可以使用 Create_TS_NEW
之类的伪列更新表中的这些行【问题讨论】:
-
在使数据保持一致的最后,您要将列转换为 TIMESTAMP 数据类型,对吗? (请说“是”,请说“是”!)如果这样做,您将不会再遇到格式问题,尽管您需要更改插入到表中的代码(希望将其封装在某个存储过程中!)
-
no no .. 我的 CREATE_TS 列数据类型将是 varchar 2 ...我只是将日期值的格式从 '/' 更改为 '-'格式。就是这样......
-
我需要一个更新 sql,它可以用正确的格式更改正确的值
-
那么如何阻止其他人将格式错误的数据放入该列?
-
实际上该数据显示在一份报告中,该报告的表现不佳。所以它的客户要求正确显示。 :)
标签: sql oracle sql-update