select REGEXP_REPLACE( 'ABC5DD6D ', '5|6', 'x') x from dual;
SELECT COUNT(*) FROM dual WHERE REGEXP_LIKE('abcdef','a|x')
Oracle提供了一个字符替换函数translate,不同于replace函数的是,translate函数是字符级别的替换,而不是字符串的
替换。
其语法如下:
TRANSLATE ( expr ,
from_string , to_string )
简单的说就是对expr内容,用to_string中的字符逐一替换from_string 中的字符,举例说明如下:
SQL> select
translate('123456789','456','abc') from dual;
TRANSLATE
---------
123abc789
SQL> select
translate('123456789','456','ab') from dual;
TRANSLAT
--------
123ab789
SQL> select
translate('123456789','4564','a') from dual;
TRANSLAT
-------
123a789
SQL> select
translate('123456789','4564','abcd') from dual;
TRANSLATE
---------
123abc789
可以看到translate函数是以字符为单位逐一替换的,从第二、三个例子可以看出,如果第三个参数to_string的长度小于第二个参数
from_string,那么from_string的后边超出的部分都被替换为空值。从第三、四个例子可见,如果某一个字符多次出现,则以第一次替换的
内容为准。
以此可以实现的一个有用的功能是统计一个字符串中某个字符出现的次数:
select
length(translate('expl','x'||'expl','x')) from dual
官方文档10g Release 2 (10.2) B14200-02 提供了一个例子如下:
Examples
The following statement translates a book title into a string that
could be used (for example) as a filename. The from_string contains four
characters: a space, asterisk, slash, and apostrophe (with an extra
apostrophe as the escape character). The to_string contains only three
underscores. This leaves the fourth character in the from_string without
a corresponding replacement, so apostrophes are dropped from the
returned value.
SELECT
TRANSLATE('SQL*Plus User''s Guide', ' */''', '___') FROM DUAL;
--------------------
SQL_Plus_Users_Guide
分享到:
相关推荐
### Oracle字符串替换:使用REGEXP_REPLACE函数 在Oracle数据库中,对字符串进行处理是一项非常常见的需求,尤其是在数据清洗、格式转换等场景下。本文将详细介绍如何利用`REGEXP_REPLACE`函数来实现字符串替换功能...
Oracle字符相似度函数是Oracle数据库系统提供的一种功能,用于评估两个字符串之间的相似性。这个功能在数据清洗、信息检索、文本分析等领域具有广泛的应用。在SQL查询中,我们可以直接使用这些函数来比较不同字符串...
ORACLE 字符串函数是一组用于操作和处理字符串的函数,包括连接、截取、转换、查找、替换、去除空白等操作。 1. 字符串连接函数:`string || string` 该函数用于连接两个字符串,结果是一个新的字符串。例如,`'...
### Oracle字符串处理函数详解 #### 1. ASCII ASCII函数用于返回给定字符的ASCII码值。例如: ``` SQL> select ascii('A') A, ascii('a') a, ascii('0') zero, ascii(' ') space from dual; AAZERO SPACE ------...
在Oracle数据库中,经常需要对表中的数据进行更新操作,其中就包括对某个字段内的特定字符串进行替换。这在处理大量文本数据时非常有用,例如修正错误的输入、标准化数据格式或更新某些信息等。Oracle提供了一个内置...
### Oracle 判断字符串是否能转换为数字的方法 在Oracle数据库中,我们经常需要处理各种数据类型之间的转换。尤其是在处理字符型数据时,有时我们需要判断一个字符串是否能够被成功地转换成数字类型。与SQL Server...
Oracle Sql 提供了 REPLACE() 函数,用于将字符串中的某个字符替换为另一个字符。 示例:SELECT REPLACE('abcdce', 'bc', 'test') FROM dual; -- 返回 atestdce 6. ASCII 码函数 Oracle Sql 提供了 ASCII() 函数...
这个函数用于替换字符串中的某个子串。例如,`REPLACE('hello world', 'world', 'universe')` 返回 'hello universe'。 6. **TRIM()** 函数: TRIM() 用于删除字符串开头、结尾或两端的指定字符。例如,`TRIM(' ...
Oracle数据库系统提供了丰富的函数库,包括字符函数、日期函数、数据类型转换函数以及集合函数,以帮助用户在处理数据时实现各种复杂的操作。下面将详细解释这些函数的用途和使用方法。 1. **字符函数** - `LOWER...
Oracle 数据库 查找替换工具 (*目前只支持Oracle) 在整个数据库中查找某个字符串。 支持字符串、CLOB、BLOB字段类型。 支持字符串替换功能。 可定义查找的表、字段、字段类型。 可同时查询多个字符串。
在Java开发中,连接Oracle数据库是一项常见的任务,尤其是在处理特定字符集如American ASCII7时,开发者需要对字符编码有深入的理解。Oracle数据库支持多种字符集,包括ASCII,它是最基础的7位字符集,包含32个控制...
### 修改Oracle字符集详解 #### 一、引言 在处理多语言环境下Oracle数据库时,字符集设置至关重要。不正确的字符集配置会导致数据在存储、检索过程中出现乱码等问题。本文将详细介绍如何解决Oracle数据库字符集...
在Oracle数据库中,进行多个字符替换通常涉及到字符串处理函数,如`REPLACE()`函数或正则表达式。这里的问题是需要将`B_TEST`表中的`ELEMENT_ID`字段的值在`A_TEST`表的`FORMULA_DET`字段中替换为对应的`NAME`字段的...
* 自定义聚合函数 wmsys.wm_concat 替换办法 * 超大字符串拼接,单个字符串4000、分隔符100... * Oracle11g Release2版本引入了LISTAGG 函数,使得聚集连接字符串变得很容易。并且允许使用我们指定连接串中的字段顺序
16. **TRANSLATE** 函数:将字符串中的某些字符替换为其他字符,如 `TRANSLATE('ABCDefghijklmn', 'eg', '替代')` 替换'e'和'g'。 了解并熟练使用这些函数,能帮助你在Oracle数据库中更高效地进行字符串处理,无论...
在Oracle数据库环境中,有时我们需要将存储为字符串的数据转换为数值类型以便进行数学运算或进一步的数据分析。这在处理财务数据、统计分析等场景中非常常见。本文将详细介绍如何在Oracle中将字符串转换为Number类型...
这时,可以结合其他函数,如 `REPLACE()`(替换特定字符)和 `REGEXP_SUBSTR()`(正则表达式截取)来增强处理能力。 例如,如果想要获取最后一个值,可以先用 `REPLACE()` 去除所有逗号,再从头开始截取: ```sql ...
### Oracle11g 字符集 AL32UTF8 修改为 ZHS16GBK 的步骤与注意事项 #### 一、背景介绍 在Oracle11g环境下,可能会遇到需要更改数据库字符集的情况,例如从AL32UTF8修改为ZHS16GBK。这种变更通常发生在需要支持特定...
`TRANSLATE(string, from_chars, to_chars)` 将string中from_chars中的字符替换为to_chars中的相应字符。 11. **SOUNDEX()** 和 **INITCAP()** 函数:SOUNDEX()根据发音对字符串进行编码,用于近似拼写检查;...