某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博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-1724758/
,如需转载,请注明出处,否则将追究法律责任。