WEB开发网
开发学院数据库Oracle Oracle数据库中的字符处理技巧总结 阅读

Oracle数据库中的字符处理技巧总结

 2009-05-15 13:15:16 来源:WEB开发网   
核心提示: 四、字符串中的复杂替换,几年之后,Oracle数据库中的字符处理技巧总结(3),杭州进行来一些行政区划的规格,如把下沙市改为了直属杭州管辖的下沙区,这将提高报表的可读性,可见,为此有一家企业的数据库管理人员就问笔者,能否把一些记录中的下沙市都改为下沙区

四、字符串中的复杂替换。

几年之后,杭州进行来一些行政区划的规格,如把下沙市改为了直属杭州管辖的下沙区。为此有一家企业的数据库管理人员就问笔者,能否把一些记录中的下沙市都改为下沙区。什么意思呢?也就是说,在数据库中可有含有如下记录“下沙市某某钢铁厂”、“杭州市某某服装厂”、“滨江区某某信息有限公司”等等。现在数据库管理员希望把含下沙市的内容都改为下沙区。这涉及到一些复杂字段的替换,实现起来具有一定的难度。数据库是结构化数据的结合体,不比Word文档,可以利用查找替换功能来解决这个需求。那么在Oracle数据库中该如何实现呢?在Oracle数据库中就模拟实现了Word文档中的查找替换功能。

如在单行字符函数中有一个叫做Replace的函数,就可以帮助数据库管理员实现这个需求。这个函数的格式为Replace(C1,C2,C3)。他的含义就彪死后把C1中出现的C2都替换成C3,然后返回字符串。这是什么意思呢?其实就是跟Word文档中的查找替换功能类似。从字符串C1种查找C2的内容,如果找到的话利用C3来代替。如果C3 的内容为空,则所有在字段中出现C2内容的字符都将被删除。那要实现上面的需求,就可以把这个函数的参数设置为Replace(Adress,下沙市,下沙区)。然后再利用Upadate语句把这个函数返回的值赋值给地址字段即可。如此,在数据库地址字段中,出现下沙市的地方将全部被更新为下沙区。但是这个更改不会影响到其他的记录。如不会把杭州市也改为杭州区等等。

为此,要实现一些复杂的字符替换作业,可以利用函数Replace来完成。有时会,把Replace函数与其他函数相结合,还可以实现一些更加复杂的内容。如在产品基本信息中,产品编号中可能包含了产品的分类信息,如PSD001这个产品编号,第一个字符P表示成批,第二三个字符SD表示手动工具。如果自动工具的话就为PZD001。在生成报表的时候,如果利用这些字符来显示结果的话,显然报表的可读性并不是很好。此时数据库管理员可以先利用字符串截取函数或者利用上面所提到过的头部填充函数等等来截取相关的字符串,然后再利用现在这个查找替换函数,则可以把ZD等字符转换成“自动工具”等代表含义的字符串,这将提高报表的可读性。可见,将Replace替换函数与其他函数结合(C1、C2、C3参数都可以利用函数来实现)从而可以实现复杂的替换功能。

上一页  1 2 3 

Tags:Oracle 数据库 字符

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接