ITPub博客

首页 > 数据库 > Oracle > 某Q友的问题--字段中的所有值的年都2012,我想统一把2012修改成2015,怎么做呢

某Q友的问题--字段中的所有值的年都2012,我想统一把2012修改成2015,怎么做呢

原创 Oracle 作者:wisdomone1 时间:2015-07-06 17:31:32 0 删除 编辑

某Q友的问题

   例如:字段中的所有值的年都2012,我想统一把2012修改成2015,怎么做呢?

开文

      授人已鱼,不如授人已渔,让初学者减少或避免无谓的错误,少走弯路,对于提升ORACLE技能有极大帮助;好多人不知如何查阅官方文档,在这里和大家交流一点方法,如有益处,无尚之荣。
      首先大家一定要构建一种意识,先把官方文档下载起来,当然如果你所处环境网格很通畅,也可以在线看,我列举下官方文档及在线阅读2种地址,以供参考:
 
  •   这个里面包括各个版本的在线文档

  •   这个是ORACLE官方的,可以下载对应数据库版本的文档(相信大家基本英语都看得懂哟)

     我为何要说这个呢,此为万事之本,你先把这里面的内容有个宏观的认识与掌握,可以达到如下几方面的目标和意义:
1,对ORACLE的官方文档有个初步的印象,不然永远在ORACLE大门之外

2,可以达到了解ORACLE官方文档的大体组织架构,或者说包括哪几个方面的内容;大家来看下面的11G在线文档


由上可获取到如下一些信息,即11G官方文档大约包括哪些方面的内容:
  •      安装与配置及升级
  •      管理数据库
  •      数据库应用开发        
  •      网络计算方面
  •      性能优化
  •      安全方面
  •      高可用性方面
  •      数据仓库及商务智能
  •      管理非结构化数据
  •      信息整合

      从上述字面上,相信大家见文识义,也可以猜个八九不离十,你可以再点击每个具体的链接,进行针对性学习;回到Q友提的问题,其实就是如何获取列部分字符串,进行替换,所以肯定要用到函数,所以,大家想一想,对,点击:数据库应用开发,就是replace函数,具体细节我就不展示,相信大家明白我说的意思了哟,会查replace function的用法了。


结论

1,熟悉了解从哪儿下载ORACLE官方文档或者在线阅读官方手册

2,了解基本的ORACLE官方资料的内容构成

3,具备初步的知识,知道如何查阅基本的ORACLE函数的用法

分析

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

创建测试表
SQL> create table t_2015(a varchar2(10));

Table created.

插入几条代表各种情况的记录
SQL> insert into t_2015 values('1_2015_');

1 row created.

SQL> insert into t_2015 values('2015*y');

1 row created.

SQL> insert into t_2015 values('32*2015');

1 row created.

SQL> commit;

Commit complete.

查询表数据
SQL> select a from t_2015;

A
----------
1_2015_
2015*y
32*2015

    在真正替换更新前查询下结果是否为自己期望的结果,这步的意义在于免于你犯错,千万不要直接UPDATE,万一错了,就晕了
当然你可以ROLLBACK,但要是生产的话,操作一定要小心(这是另一个话题,哈哈)
SQL> select a,replace(a,'2015','2012') from t_2015;

A REPLACE(A,'2015','2012')
---------- ----------------------------------------
1_2015_ 1_2012_
2015*y 2012*y
32*2015 32*2012

SQL> update t_2015 set a=replace(a,'2015','2012');

3 rows updated.

确认更新成功
SQL> select a,replace(a,'2015','2012') from t_2015;

A REPLACE(A,'2015','2012')
---------- ----------------------------------------
1_2012_ 1_2012_
2012*y 2012*y
32*2012 32*2012

更新成功再提交,不然哈哈,再后悔就难了哟
SQL> commit;

Commit complete.



相关阅读

  replace函数的官方资料

个人简介

8年oracle从业经验,具备丰富的oracle技能,目前在国内北京某专业oracle服务公司从事高级技术顾问。
服务过的客户:
中国电信
中国移动
中国联通
中国电通
国家电网
四川达州商业银行
湖南老百姓大药房
山西省公安厅
中国邮政
北京302医院     
河北廊坊新奥集团公司

 项目经验:
中国电信3G项目AAA系统数据库部署及优化
      中国联通4G数据库性能分析与优化
中国联通CRM数据库性能优化
中国移动10086电商平台数据库部署及优化
湖南老百姓大药房ERR数据库sql优化项目
四川达州商业银行TCBS核心业务系统数据库模型设计和RAC部署及优化
四川达州商业银行TCBS核心业务系统后端批处理存储过程功能模块编写及优化
北京高铁信号监控系统RAC数据库部署及优化
河南宇通客车数据库性能优化
中国电信电商平台核心采购模块表模型设计及优化
中国邮政储蓄系统数据库性能优化及sql优化
北京302医院数据库迁移实施
河北廊坊新奥data guard部署及优化
山西公安厅身份证审计数据库系统故障评估
国家电网上海灾备项目4 node rac+adg 
       贵州移动crm及客服数据库性能优化项目
       贵州移动crm及客服务数据库sql审核项目
       深圳穆迪软件有限公司数据库性能优化项目

联系方式:
手机:18201115468
qq   :   305076427
qq微博: wisdomone1
新浪微博:wisdomone9
qq群:275813900    
itpub博客名称:wisdomone1    http://blog.itpub.net/9240380/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-1724758/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    12689917