`
izuoyan
  • 浏览: 9220160 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sql使用正则表达式替换字符中的一个字

阅读更多
替换某个字段中某一个字
有这样一个需求,替换memo字段中的一个字,例如,将“XXX应付”都替换成“XXX实付”,其他字不变。传统的UPDATE语句做这种更新是非常麻烦的,从10g开始,我们可以使用正则表达式来实现。
select regexp_replace(memo,'','') from table_a where code = '102';
update table_a a set memo = regexp_replace(memo,'','') where a.code = '102';
其他正则函数介绍
Regexp_like:正则like
SELECT first_name, last_name
FROM employees
WHERE REGEXP_LIKE (first_name, '^Ste(v|ph)en

            
FIRST_NAME LAST_NAME
-------------------- -------------------------
Steven King
Steven Markle
Stephen Stiles
Regexp_instr:判断符合正则条件的位数
'500 Oracle Parkway, Redwood Shores, CA' 源字符串
'[s|r|p][[:alpha:]]{6}' 正则模式,以s|r|p开头,6个字母
3 开始位置,默认是1
2 Oracle搜索满足第2个模式的发生,默认是1
1 返回满足模式的后面的字符串,默认是0
i 大小写不敏感
SELECT
REGEXP_INSTR('500 Oracle Parkway, Redwood Shores, CA',
 '[s|r|p][[:alpha:]]{6}', 3, 2, 1, 'i') "REGEXP_INSTR"
FROM DUAL;

            
REGEXP_INSTR
------------
 28
Regexp_substr
取子串
SELECT
REGEXP_SUBSTR('http://www.oracle.com/products',
 'http://([[:alnum:]]+\.?){3,4}/?') "REGEXP_SUBSTR"
FROM DUAL;

            
REGEXP_SUBSTR
----------------------
http://www.oracle.com/
Wonder
2008-03-20 );
___FCKpd___3
___FCKpd___4
___FCKpd___5
___FCKpd___6
___FCKpd___7
___FCKpd___8
Regexp_instr:判断符合正则条件的位数
'500 Oracle Parkway, Redwood Shores, CA' 源字符串
'[s|r|p][[:alpha:]]{6}' 正则模式,以s|r|p开头,6个字母
3 开始位置,默认是1
2 Oracle搜索满足第2个模式的发生,默认是1
1 返回满足模式的后面的字符串,默认是0
i 大小写不敏感
___FCKpd___9
___FCKpd___10
___FCKpd___11
___FCKpd___12
___FCKpd___13
___FCKpd___14
___FCKpd___15
___FCKpd___16
Regexp_substr
取子串
___FCKpd___17
___FCKpd___18
___FCKpd___19
___FCKpd___20
___FCKpd___21
___FCKpd___22
___FCKpd___23
___FCKpd___24
Wonder
2008-03-20
分享到:
评论

相关推荐

    用正则表达式提取SQL

    标题“用正则表达式提取SQL”涉及到的是在编程中如何使用正则表达式来从文本或代码中抓取SQL语句的相关知识。在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,它能快速地匹配、查找、替换或者...

    SQL Server中利用正则表达式替换字符串的方法

    上述内容中介绍了在不支持正则表达式的SQL Server版本中,如何建立一个自定义的正则替换函数dbo.RegexReplace。此函数通过调用OLE对象的sp_OACreate存储过程创建VBScript的RegExp对象,设置RegExp对象的属性,然后...

    SqlServer类似正则表达式的字符处理问题

    SQL Serve提供了简单的字符模糊匹配功能,比如:like, ...同一个字符,将其替换为空串,即可计算 declare @text varchar(1000) declare @str varchar(10) set @text = 'ABCBDBE' set @str = 'B' select len(@tex

    Oracle数据库正则表达式

    元字符提供算法来确定 Oracle 如何处理组成一个正则表达式的字符。常见的元字符有: * `.` 匹配一个正规表达式中的任意字符(除了换行符) * `^` 使表达式定位至一行的开头 * `$` 使表达式定位至一行的末尾 * `*` ...

    报表工具FineReport正则表达式定义规则

    在JavaScript中使用正则表达式时,需要在正则表达式前后加上“/”。例如,验证手机号码是否合法的表达式为`/^1(3\d|5[36789])\d{8}$/`。 #### 五、总结 通过以上介绍,我们可以看到正则表达式在报表工具FineReport...

    SQL 语法分析,正则表达式解析C#文件;正则表达式实现的语法分析引擎

    实现一个正则表达式解析引擎需要理解正则表达式的语法和行为,以及如何在C#中使用这些概念。引擎通常会包含一个解析方法,该方法接受一个字符串输入,使用正则表达式进行匹配,并返回匹配的结果。同时,可能还需要...

    Oracle正则表达式详解(用法+实例)

    - **功能**: 类似于 `REPLACE` 函数,用于替换字符串中符合正则表达式的部分。 - **语法**: ```sql REGEXP_REPLACE(expr, pattern, replacement [, start_position] [, occurrence] [, match_parameter]) ``` - *...

    正则表达式在SQL Server 2000中的实现与应用.pdf

    在SQL Server 2000中,虽然标准的正则表达式支持并不内置,但开发者仍然可以通过一些方式来实现正则表达式的功能。这主要依赖于T-SQL的内置函数和一些用户定义的函数(UDF)来模拟正则表达式的行为。下面将详细介绍...

    RegExp正则表达式

    2. **替换文本**:在文档中使用正则表达式来标识特定的文字,并将其删除或替换为其他文字。 3. **模式匹配**:从字符串中提取子字符串,比如从一段文本中找出所有的邮箱地址。 #### 三、正则表达式的语法格式 正则...

    正则表达式在oracle中的应用

    例如,简单的正则表达式可以是一个具体的字符串(如`'TomSmith'`),也可以是一组复杂规则的组合。 **表1:部分正则表达式的特殊字符及其说明** | 特殊字符 | 描述 | |----------|-------------------------------...

    SQL修改表语句和正则表达式

    正则表达式(Regular Expression)是一种强大的文本处理工具,常用于搜索、替换和验证字符串模式。以下是一些基本的正则表达式概念和语法: 1. **字符匹配**: 通过单个字符或字符集匹配文本。如`\d`匹配数字,`.`...

    电话号码及日期时间提取(正则表达式 C)

    在本项目中,“电话号码及日期时间提取(正则表达式 C)”是一个使用C语言编写的程序,它能够从文本中有效地识别和提取中国大陆的手机号码和固定电话号码,以及简体中文网页中的日期和时间信息。 首先,我们要理解...

    PHP 笔记001 - 字符串、正则表达式

    - `preg_split`:使用正则表达式将字符串分割到数组中。 正则表达式的语法是专门的,需要掌握特殊字符、量词、字符类等构造。在使用正则表达式时,开发者需要构建一个适当的模式(Pattern),它定义了需要匹配的...

    SQL 正则表达式及mybatis中使用正则表达式

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分析字符串。在SQL中,正则表达式常用于复杂的数据过滤和查询。MySQL支持使用`REGEXP`和`NOT REGEXP`(或者`RLIKE`和`NOT RLIKE`)操作符来进行正则...

    C++ BOOST 正则表达式使用教程

    这定义了一个正则表达式,用于匹配 SQL 语句的 select 部分。 使用 `regex_match` 函数来匹配输入字符串: ```cpp if (regex_match(in.c_str(), what, expression)) { // 匹配成功 } else { // 匹配失败 } ``` 在...

    正则表达式经典实例.pdf

    正则表达式(Regular Expression)是一种强大的文本处理工具,用于模式匹配、搜索和替换字符串中的特定字符或模式。在编程、数据清洗、日志分析、搜索引擎等领域有着广泛的应用。 ### 正则表达式基础 正则表达式由...

    正则表达式从入门到精通

    深入学习正则表达式,不仅需要理解这些基本概念,还需要掌握如何在不同上下文中应用它们,包括如何处理Unicode字符、优化正则表达式性能以及在不同编程语言中使用正则表达式的差异。此外,实战练习和解决实际问题是...

    MySQL中使用replace、regexp进行正则表达式替换的用法分析

    首先,replace函数是MySQL中的字符串函数,用于在字符串中查找指定的子字符串并替换为另一个字符串。replace函数的基本语法是replace(对象,搜索,替换),其中对象是要进行搜索和替换的字段,搜索是要被替换成字符串的...

Global site tag (gtag.js) - Google Analytics