oracle如何批量修改字段中的数据

例如以下字段date里的数据如何修改为类似20140827的数据。
date 修改后date
2014.8.27 20140827
2014.08.26 20140826
2014.11.1 20141101
2014.11.02 20141102
不好意思没说清楚,date字段类型是varchar2。

需要用updata语句来批量修改。

如图,test表中有如下数据:

现在要将id小于3的name改成“孙七”,可用如下语句:

update test set name='孙七' where id<3;
commit;

执行后结果为:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-27
date是Oracle保留字,居然拿来作字段名。
假设这是一个文本字段,字段名为data
update t1 set data=to_char(to_date(data,'yyyy.mm.dd'), 'yyyymmdd')追问

呵呵 date我只是打个比方 你给的语句成功了 谢谢了 麻烦再问下 如果数据是2014.8这样的情况要怎么弄

追答

那要看你想要什么结果,
如果你想要20140801,那么
update t1 set data=to_char(to_date(data,'yyyy.mm'), 'yyyymmdd')

如果你想要201408,那么
update t1 set data=to_char(to_date(data,'yyyy.mm'), 'yyyymm')

追问

非常感谢 我发现这个字段里的数据不规范 如:2014 2014.8 2014.8.27 如果是这样那又要怎么弄

追答

那你先预处理一下吧。 按照长度判断一下缺什么内容先补上缺失部分。
只有年的4位, 有月的是6-7位,8位及以上是全的。

追问

非常感谢

本回答被提问者采纳
第2个回答  2014-08-27
update code_t_division set codename='...' where codename like '农%'
这样可以么?
相似回答