oracle中replace函数:
用法:replace(tarString,paString,gString)。
参数说明:tarString,要替换的原字符串;paString,需要替换的子字符串;gString,需要替换的目标字符串。
具体说明:
select replace('01111','0','2') from dual;
结果是
21111
若减少gString参数,即为将tarString中为paString的地方删除。
具体说明:
select replace('01111','0') from dual;
结果为
1111
oracle中regexp_replace函数:
转自http://blog.csdn.net/itmyhome1990/article/details/50380718
转自http://blog.csdn.net/itmyhome1990/article/details/50380718
转自http://blog.csdn.net/itmyhome1990/article/details/50380718
重要的事情说三遍。
REGEXP_REPLACE让你搜索的字符串的正则表达式模式REPLACE函数的功能。默认情况下,
该函数返回source_char与replace_string取代了正则表达式模式的每个实例。
返回的字符串是在相同的字符集source_char。
语法
Oracle数据库中的REGEXP_REPLACE函数的语法是:
REGEXP_REPLACE(source_char, pattern [, replace_string [, position [, occurrence [, match_parameter ] ] ] ] )
参数
source_char
搜索值的字符表达式。这通常是一个字符列,可以是任何数据类型CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB。
pattern
正则表达式
Value |
Description |
^ |
Matches the beginning of a string. If used with amatch_parameterof ‘m’, it matches the start of a line anywhere withinexpression. |
$ |
Matches the end of a string. If used with amatch_parameterof ‘m’, it matches the end of a line anywhere withinexpression. |
* |
匹配零个或多个. |
+ |
匹配一个或多个出现. |
? |
匹配零次或一次出现. |
. |
匹配任何字符,除了空. |
| |
Used like an "OR" to specify more than one alternative. |
[ ] |
Used to specify a matching list where you are trying to match any one of the characters in the list. |
[^ ] |
Used to specify a nonmatching list where you are trying to match any character except for the ones in the list. |
( ) |
Used to group expressions as a subexpression. |
{m} |
Matches m times. |
{m,} |
Matches at least m times. |
{m,n} |
Matches at least m times, but no more than n times. |
\n |
n is a number between 1 and 9. Matches the nth subexpression found within ( ) before encountering \n. |
[..] |
Matches one collation element that can be more than one character. |
[::] |
Matches character classes. |
[==] |
Matches equivalence classes. |
\d |
匹配一个数字字符. |
\D |
匹配一个非数字字符. |
\w |
匹配包括下划线的任何单词字符. |
\W |
匹配任何非单词字符. |
\s |
匹配任何空白字符,包括空格、制表符、换页符等等. |
\S |
匹配任何非空白字符. |
\A |
Matches the beginning of a string or matches at the end of a string before a newline character. |
\Z |
Matches at the end of a string. |
*? |
Matches the preceding pattern zero or more occurrences. |
+? |
Matches the preceding pattern one or more occurrences. |
?? |
Matches the preceding pattern zero or one occurrence. |
{n}? |
Matches the preceding pattern n times. |
{n,}? |
Matches the preceding pattern at least n times. |
{n,m}? |
Matches the preceding pattern at least n times, but not more than m times. |
replace_string
可选。匹配的模式将被替换replace_string字符串。如果省略replace_string参数,
将删除所有匹配的模式,并返回结果字符串。
position
可选。在字符串中的开始位置搜索。如果省略,则默认为1。
occurrence
可选。是一个非负整数默认为1,指示替换操作的发生:
如果指定0,那么所有出现将被替换字符串。
如果指定了正整数n,那么将替换第n次出现。
match_parameter
可选。它允许你修改REGEXP_REPLACE功能匹配的行为。它可以是以下的组合:
Value |
Description |
‘c’ |
区分大小写的匹配. |
‘i’ |
不区分大小写的匹配. |
‘n’ |
Allows the period character (.) to match the newline character. By default, the period is a wildcard. |
‘m’ |
expressionis assumed to have multiple lines, where ^ is the start of a line and $ is the end of a line, regardless of the position of those characters inexpression. By default,expressionis
assumed to be a single line. |
‘x’ |
Whitespace characters are ignored. By default, whitespace characters are matched like any other character. |
EXAMPLE - 匹配第一个字
让我们开始使用REGEXP_REPLACE函数替换字符串中的第一个字。
For example:
SELECT REGEXP_REPLACE ('itmyhome is my network id', '^(\S*)', 'luck')
FROM dual;
Result: luck is my network id
这个例子会返回”luck is my network id”,
因为它会再字符串的开始找到第一个匹配的字符,然后替换为”luck”
EXAMPLE - 匹配数字字符
我们将使用REGEXP_REPLACE函数来匹配单个数字字符模式。
For example:
SELECT REGEXP_REPLACE ('2, 5, and 10 are numbers in this example', '\d', '#')
FROM dual;
Result: '#, #, and ## are numbers in this example'
此示例将所指定的\d
数字将以#字符替换
我们可以改变我们的正则模式来搜索仅两位数字。
For example:
SELECT REGEXP_REPLACE ('2, 5, and 10 are numbers in this example', '(\d)(\d)', '#')
FROM dual;
Result: '2, 5, and # are numbers in this example'
这个例子将替换具有两个数字并排指定的(\d)(\d)
模式。在这种情况下,它将跳过2和5个数字值和用#字符替换10。
还有一个问题:就是同replace,只有前两个参数是什么意思
具体说明
select regexp_replace('01111','^0') from dual;
结果是
1111
含义同replace函数。
分享到:
相关推荐
Oracle 的 `REGEXP_REPLACE` 函数接受三个参数:源字符串、正则表达式模式和替换字符串。例如,`REGEXP_REPLACE('test string', 't', 'T')` 将返回 'Test string',将所有小写 't' 替换为大写 'T'。Oracle 还提供了...
Oracle分析函数是数据库管理系统Oracle中的一种高级查询工具,它们用于处理行集,...了解并熟练掌握Oracle分析函数和正则表达式函数,能显著提高在数据库管理和数据分析方面的效率,使得复杂的数据处理变得简单直观。
在Oracle 10g数据库系统中,正则表达式的引入为数据检索提供了更为灵活和强大...此外,结合其他正则表达式相关的函数,如`REGEXP_INSTR`, `REGEXP_SUBSTR`, 和`REGEXP_REPLACE`,可以实现更复杂的数据清洗和转换任务。
mysql-udf-regexp 该程序包将正则表达式函数用作MySQL用户定义函数(UDF)。 该软件包实现的功能是: REGEXP_LIKE(text, pattern [, mode]) REGEXP_SUBSTR(text, pattern [,... 这些功能在名称上与Oracle SQL函数
REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE ...
本文将详细介绍Oracle数据库中支持的四个主要正则表达式函数:`REGEXP_LIKE`、`REGEXP_INSTR`、`REGEXP_SUBSTR`和`REGEXP_REPLACE`,以及如何使用POSIX正则表达式。 #### 二、Oracle正则表达式基础 ##### 1. POSIX...
SELECT REGEXP_REPLACE(SYS_CONNECT_BY_PATH(column, ','), '^,', '') AS aggregated_column FROM (SELECT column, CONNECT_BY_ROOT rowid as rid FROM table) START WITH rid = (SELECT MIN(rowid) FROM table) ...
Oracle数据库系统提供了强大的正则表达式功能,这些功能主要通过一系列内置函数来实现,使得数据库查询和数据处理变得更加灵活和高效。在Oracle中,正则表达式主要用于模式匹配和字符串操作,广泛应用于数据验证、...
### Oracle字符串替换:使用REGEXP_REPLACE函数 在Oracle数据库中,对字符串进行处理是一项非常常见的需求,尤其是在数据清洗、格式转换等场景下。本文将详细介绍如何利用`REGEXP_REPLACE`函数来实现字符串替换功能...
Oracle 中的支持正则表达式的函数主要有四个:REGEXP_LIKE、REGEXP_REPLACE、REGEXP_INSTR 和 REGEXP_SUBSTR。这四个函数在用法上与 Oracle SQL 函数 LIKE、INSTR、SUBSTR 和 REPLACE 用法相同,但它们使用 POSIX ...
`REGEXP_REPLACE(srcstr, pattern, replacement [, position [, occurrence [, match_option]]])`:用`replacement`替换`srcstr`中符合`pattern`的部分,`position`、`occurrence`和`match_option`选项与之前函数...
在Oracle数据库中,处理字符串是常见的操作之一,尤其是在数据分析或数据清洗的过程中。有时我们需要将一个长字符串分割成多个部分,以便进行进一步的操作。Oracle提供了一些内置的函数来帮助我们完成这个任务。本篇...
Oracle 10g 引入了一系列新的函数来支持正则表达式的使用,包括 `REGEXP_LIKE`、`REGEXP_INSTR`、`REGEXP_SUBSTR` 和 `REGEXP_REPLACE`。这些函数的使用方式类似于传统的 SQL 函数 `LIKE`、`INSTR`、`SUBSTR` 和 `...
Oracle支持四种与正则表达式相关的函数:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR和REGEXP_REPLACE。 1. REGEXP_LIKE:此函数用于执行基于正则表达式的模糊匹配。与传统的LIKE操作符不同,它能处理更复杂的匹配...
`readme.txt`文件可能会包含使用和注意事项,比如提醒用户在调用函数前确保已经正确创建了函数,或者在使用过程中需要注意的精度问题和性能优化建议。 总结来说,Oracle中将数字金额转换为汉字大写的过程涉及自定义...
在Oracle 10g版本中,正则表达式得到了进一步的支持,引入了新的SQL操作符REGEXP_LIKE以及与之相关的函数REGEXP_INSTR、REGEXP_SUBSTR和REGEXP_REPLACE。 1. 正则表达式的基本概念: 正则表达式由字符字面量和元...
在SQL查询中,我们可以使用`REGEXP_LIKE`函数结合正则表达式进行数据过滤,或者使用`REGEXP_REPLACE`进行字符串替换操作。 二、Oracle分析函数 Oracle分析函数是在SQL查询中处理分组数据的强大工具,它们可以在...
`REGEXP_REPLACE`函数可以用来匹配和替换字符串中的模式。它非常适用于需要根据正则表达式模式来处理字符串的情况。与`TRANSLATE`相比,它可以更灵活地处理复杂情况。 - **`REGEXP_REPLACE`语法**:`REGEXP_REPLACE...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的功能来处理和操作数据,其中包括对正则表达式的支持。正则表达式是一种强大的文本匹配工具,能够帮助我们进行复杂的字符串搜索、替换和验证。在...