在现在的大数据处理应用中,除了传统的数字、日期、字符之外,还有大文本数据、大二进制数据等。

✿ 问题的提出

如果应用系统表包括有大量的文本数据,这些文本数据在查询时不是简单地列出,而是要进行搜集和替换,那么该如何进行搜索,并对搜索的字符串进行替换,最后显示给用户呢?

✿ 实现技术

Oracle系统提供的正则表达式即可实现这样的要求。可采用REPLACE语句来实现,REPLACE语法为:

REPLLCAE   ('string' [,'string_in','string_out'])
String: 希望被替换的字符串或变量
String_in: 被替换字符串
String_out: 要替换字符串

✿ 实现步骤

为了理解正则表达式中的搜索和替换,这里给出一个简单的样例。比如:早期的Informix是yoga数据库公司,后被IBM收购,那么,在查询到“informix公司”时,应该替换成“IBM Informix中国公司”。

--Informix 替换成 IBM Informix:
--
SQL> select replace('Informix 中国公司','Informix','IBM Informix')
  2    IBM数据库 from dual;

IBM 数据库
--------------------
IBM Informix 中国公司

✿ 说明

显然这样的搜索和处理非常简单,若有更为苛刻的要求,请参看下面的样例。