天使网赚论坛

 找回密码
 立即注册
查看: 1383|回复: 0

Oracle数据库中的字符处理技巧方法说明(一)

[复制链接]

主题

帖子

0

积分

网赚新手

Rank: 2

积分
0
lanlanxing 发表于 2011-2-13 10:31:42 | 显示全部楼层 |阅读模式
一、去掉尾部的空格字符。
有时候在查询或者进行其他处理的时候,需要把字符串尾部的空格字符去掉。如有时候应用软件设
计的不合理,会把空格字符保存在数据库中。如在输入产品品号的时候,用户不小心,把“DT001”
输成了“DT001 ”。如果应用程序在设计的时候,能够自动把尾部的空格去掉然后在保存到数据库中能够就
万无一失了。但是不少的应用软件在开发的时候没有如此设计。这就给后续的处理带来了很多的麻烦。
因为利用Where语句来查找记录的时候,“DT001”(最后不带空格)与“DT001 ”(最后带一个空格)两个是不同的条件。
如果想利用这个条件来进行数据更新、查询等等,就会遇到问题。为此在写相关的Update或者Select语句的时候,
可能需要把后面的空格符号去掉。为此在Oracle数据库中,有很多种解决方式。如数据库管理员可以使用Ltrim函数来实现。
这个函数的格式为Ltrim[c1,c2]。其作用是去掉C1左边所包含的C2种的任何字符。当遇到不是C2种的字符串时结束,
然后返回剩余的字符串。如果把C2字符串设置为空格符号(默认情况下就是空格),那么就可以把DT001后面的空格符号去掉了。
-------------------------------------------------------------------
USA-IDC香港服务器租用商五洲数据提供国外服务器租用美国服务器租用业务
二,服务器机房信息
日本东京机房 JP-TY-01   处理器:Intel Pentium4 2.8GHz
内 存:256M RAM 硬 盘:80GB 硬盘
带 宽:100M共享,20M保证 动态IP
价 格:1700元/月 [立即订购]  日本东京机房 JP-TY-04   处理器:Intel PentiumD 2.8GHz (双核)
内 存:512M RAM 硬 盘:20GB 硬盘
带 宽:100M共享,50M保证 动态IP
价 格:2300元/月 [立即订购]  
中华电信机房 TW-HI-02   处理器:Intel 双核赛杨 E1200 1.6Ghz
内 存:1GB DDRII 硬 盘:160GB SATAII 硬盘
带 宽:2M独享国际带宽 1个IP
价 格:1180元/月 [立即订购]  中华电信机房 TW-HI-04   处理器:Intel PentiumE 2220 2.4Ghz(双核)
内 存:4GB DDRII 硬 盘:250GB SATAII 硬盘
带 宽:2M独享国际带宽 1个IP
价 格:1799元/月 [立即订购]  
澳洲服务器租用 AU-EQ-03  处理器:Intel Pentium E2180 2.0Ghz 双核
内 存:1GB DDR 硬 盘:160GB SATAII 硬盘
带 宽:100M端口 100GB月流量 2个IP
价 格:1398元/月 [立即订购]  澳洲服务器租用 AU-EQ-08  处理器:Intel QuadCore 3210 四核至强
内 存:2GB DDR 硬 盘:250GB SATAII 硬盘
带 宽:100M端口 1000GB月流量 2个IP
价 格:3798元/月 [立即订购]   
香港服务器租用-机房价格介绍
酷睿双核 E6550 2.33Ghz 2GB 80GB 2M独享国际带宽 11300元/月
酷睿四核 Q6600 2.4Ghz 2GB 80GB 2M独享国际带宽 1 1680元/月
双核至强 E3110 3.0Ghz 2GB 160GB 2M独享国际带宽 11860元/月
四核至强 X3220 2.4Ghz 2GB 80GB 2M独享国际带宽 11980元/月
四核至强 X3220 2.4Ghz 4GB 80GB 2M独享国际带宽 12180元/月
四核至强 E5320 1.86Ghz 2GB 73GB SAS 15000转 2M独享国际带宽 12980元/月
八核至强 X3220 2.4Ghz 4GB 73GB SAS 15000转 2M独享国际带宽 14380元/月Atom
230 1.6Ghz (超线程) 512MB 80GB 2M独享国际带宽 1 820元/月
美国服务器租用--SK芝加哥数据中心服务器租用计划
Atom 230 1.6Ghz (超线程) 1GB 80GB 2M独享国际带宽 1850元/月
Atom 230 1.6Ghz (超线程) 2GB 80GB 2M独享国际带宽 1900元/月
奔腾双核 E2160 1.8Ghz 1GB 80GB 2M独享国际带宽 1980元/月
奔腾双核 E5200 2.5Ghz 1GB 80GB 2M独享国际带宽 1 1100元/月
---------------------------------------------------------------------------------------------------
二、在头部自动进行填充。
有时候可能数据库设计的时候,考虑的不够周到,导致某些字段不够大。在对数据库进行升级的时候,
需要调整相关的字段。此时就可能需要对某个字段的头部进行填充,以达到数据一致性的要求。
如现在有个ERP系统,其需要用到一张产品信息的表,其中有一个产品编号字段。刚开始在设计产品编码的时候,
设计的长度不够,如只设置了5位。随着企业产品记录的增多,需要对这个编码的内容进行扩展。如产品信息属于
包装材料类的,需要在原来产品编号的头部加入一个字符B;如产品信息属于客供品的,则需要在原来产品编号的头部
加入一个字符C;如产品信息属于辅助材料的,则在原来的产品编号前面加入一个字符F;等等。此时该如何实现这个需求呢?
难道要一个个去修改吗?现在这手工修改的工作量比较大,而且容易出错,这个方法不可取。其实在Oracle数据库系统中
提供了一个单行字符函数,可以帮助数据库管理员与企业来解决这个问题。这个函数就是RPAD函数。这个命令的格式为
RPAD(C1,N,C2)。这个函数的意识是在C1的右边填充字符C2,直到字符串的总长度满足N。默认情况下C2的值为空格,
用户可以根据自己的需要设置这个值。如果C1的长度比N要大,则会截取C1右边的N个字符。现在如果要实现上面这个需求,
则只需要设置函数RPAD(产品编号,6,F)即可。由于原来的产品编号为5位,现在需要为辅助信息的产品编号前面
加入一个字符F,修改后的总长度变为6位。不过在使用这个函数的话,往往需要利用Where条件语句进行限制。
现在这个函数还可以里用实现字符串的截取。如还是这个产品编号,其前面一位表示产品的种类。
此时数据库管理员就可以利用RPAD(产品编号,1)来截取产品编号的第一位字符(这里产品编号的长度比1要大,
则会截取产品右边的1个字符,即产品类别标示码)。这在报表设计的时候也非常有用,有利于简化报表的显示。
----------------------------------------------------------------
四,服务器运营商信息介绍
USA-IDC美国服务器租用商五洲数据提供美国服务器租用
国外服务器租用
托管业务 USA-IDC海外数据中心?2005~2010
深圳市网格时代科技有限公司 保留所有权利.
http://www.usa-idc.com
http://www.755800.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

天使网赚论坛创建于2008年8月,本站内容均为会员发表,并不代表本论坛立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
天使网赚论坛法律顾问:ITlaw-庄毅雄

QQ|小黑屋|Archiver|天使网赚论坛 |网站地图

GMT+8, 2024-5-6 21:33 , Processed in 0.091750 second(s), 32 queries .

快速回复 返回顶部 返回列表