文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发OracleOracle10g支持SQL正则表达式
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
·深刻理解Oracle数据库的启动和关闭
·监控Oracle数据库的常用shell脚本
·Oracle在Solaris下的性能与调整简介
·通俗解说ORACLE
·数据库安全性策略
热点TOP10
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·我的oracle笔记四(DBA管理)
·Oracle SQL精妙SQL语句讲解
·Oracle Tuning (Oracle 性能调整)的一些总结
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·用正则表达式函数验证身份证号码合法性
·oracle数据库 exp/imp命令详解
·性能分析工具的使用
·ORACLE UPDATE 语句语法与性能分析看法
·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
·ORA-01092: ORACLE 例程终止。强行断开连接
·VMware下RedHat安装Oracle 9i RAC全攻略
·监控Oracle数据库的常用shell脚本
·手工创建oracle数据库
·常用数据库比较
·PL/Sql循序渐进全面学习教程
·在Solaris 10 X86上安装Oracle 10g RAC详解 (2)
·ORACLE学习笔记--性能优化一

Oracle10g支持SQL正则表达式

日期:2007年7月8日 作者: 查看:[大字体 中字体 小字体]


Oracle 8 和Oracle 9i中缺乏灵活性的SQL 正则表达式最终在Oracle 10g中得到了解决。Oracle 数据库目前内建了符合POSIX 标准的正则表达式。

  四个新的函数分别是:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和 REGEXP_REPLACE。它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法,但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。

  POSIX 正则表达式由标准的元字符(metacharacters)所构成:

  • '^' 表示字符串的开始
  • '$' 表示字符串的结束
  • '.' 表示任何字符
  • 字符的范围,比如说'[a-z]',表示任何ASCII 小写字母,与字符类"[[:lower:]]"" 等价
  • '?' 允许一个后继字符匹配零次或一次
  • '+' 允许一个后继字符匹配一次或多次
  • '*' 表示零次或多次

  可以使用"{m,n}" 指定一个精确地出现范围,其意思是“出现从m 次到n 次”;"{m}" 表示“正好m次”;而"{m,}" 表示“至少m次”。还可以使用圆括号组合字符的集合,使用""(竖线)表示可替换。例如,字符串'^([a-z]+[0-9]+)$'将匹配所有由小写字母或数字组合成的字符串。

  REGEXP_LIKE 与LIKE 操作符相似。如果第一个参数匹配正则表达式它就解析为TRUE。例如WHERE REGEXP_LIKE(ENAME,'^J[AO]','i') 将在ENAME 以JA 或JO 开始的情况下返回一行数据。'I' 参数指定正则表达式是大小写敏感的。另外还可以在CHECK 约束和函数索引中指定REGEXP_LIKE。例如:

ALTER TABLE EMP ADD CONSTRAINT REGEX01

CHECK (REGEXP_LIKE(ENAME,'^[[:alpha:]]+$'));

  这条语句使得ENAME 字段只能包含字母和数字字符(也就是说没有空格或者标点符号)。试图插入或者更新这些数据将导致一个ORA-2290 异常,或者检查约束的有效性。

REGEXP_INSTR 与INSTR 函数类似。它返回一个字符串中匹配一个正则表达式的第一个子串的开始位置。例如:

  SELECT REGEXP_INSTR('The total is $400 for your purchase.','$[[:digit:]]+')

  FROM DUAL;

  这个查询返回14,即$400在字符串的开始位置。另外还可以指定子串出现的次数;开始搜索的位置;是返回匹配的位置还是返回匹配之后字符的位置。

  REGEXP_SUBSTR 返回匹配一个正则表达式的子串。虽然结合使用SUBSTR 和REGEXP_INSTR 及LENGTH 也可以实现这一功能,但是使用这个函数却更为简单。

  SELECT REGEXP_INSTR('one,two,three','[^,]*') FROM DUAL;

  这个查询返回'one',将第一个参数看成一个逗号分隔的列表并返回第一个逗号之前的所有字符。

  REGEXP_REPLACE 返回初始参数被匹配子串替换之后的结果。例如:

SELECT REGEXP_REPLACE('The temperature is 23°F',

'([[:digit:]])+°F',

('\1'-32)*5/9'°C')

FROM DUAL;

  这个查询将查找一个华氏温度并将其转换为摄氏度。它将返回:'The temperature is -5°C'。

(出处:清风网络学院






上一篇:Oracle向SQL开发者伸出援手

下一篇:Sql server优化:LECCO SQL Expert

Oracle10g支持SQL正则表达式 相关文章:
·Windows Vista Ultimate中文旗舰版下载+简单破解(支持迅雷HTTP & BT)
·[金山词霸 2007最完美版] 支持VISTA
·如何让Yahoo的邮箱支持POP3以及SMTP收发!!
·用正则表达式函数验证身份证号码合法性
·下载速度大提升 让Opera真正支持迅雷5
·RegularExpressionValidator正则表达式验证电子邮件
·下载:全面支持Vista Daemon Tools V4.0.6
·McAfee个人用户安全套件2007版支持Vista
·用javascript的正则表达式来验证Email地址是否格式正确
·SQL Server 2005 中的 Unicode 支持
Oracle10g支持SQL正则表达式 相关软件:
·帝国时代2征服者 v1.0B升级档破解版(支持Zone联机)
·WEG grubby vs zad 刚录的请大家多多支持
·易成ADisEase广告管理系统免费版 v1.0(支持FLASH)
·《生化危机4》手柄震动支持插件
·C#字符串和正则表达式参考手册
·『瑞星杀毒2006内部版支持在线升级+瑞星专业防火墙』完美破解版
·最新游戏:三国群英传6 支持国产单机游戏!
·最简单的灰鸽子远程上线方法(支持内网)
·让服务器支持Asp.net的三个安装文件
·坚信MJ清白!!歌迷为MJ创作的两首支持曲

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot