《Oracle Database 11g SQL 开发指南》学习笔记——第四章_使用简单函数(二)

4.1.4 正则表达式函数。
   \ 转义字符,  ^ 匹配字符串开头位置,  $ 匹配字符串结束位置,

   *匹配前面字符0次或多次       + 匹配1次或多次,  ?匹配0或1次, 

    {n} 匹配恰好n次,    {n,m}匹配至少n至多m次        . 匹配除null之外任意字符   

  (pattern)匹配制定模式的一个子表达式。   x|y匹配x或y,xy是一个或多个字符
       [abc]  [a-z]       [: :]指定一个字符类,可以匹配该类中的任何字符。
       [:alphanum:]匹配0-9,A-Z,a-z        [:alpha:]匹配A-Z,a-z
       [:blank:] 匹配空格或tab键          [:digit:]匹配0-9
       [:graph:] 匹配非空字符           [:print:]匹配非空字符和空格字符
       [:lower:]匹配a-z   [:upper:]匹配A-Z      [:punct:]匹配标点符号
       [:space:]匹配所有空白字符          [:xdigit:]匹配十六进制数字0-9,A-F,a-f
       [..]匹配一个组合元素,如多字符元素。           [==]指定等价类
       \n对前一次捕获的一个反向引用,n为正整数

Oracle 10g 新增的元字符:
    \d数字字符  \D非数字字符  \w字母字符  \W非字母字符  \s空白字符  \S非空白字符
    \A只匹配字符串的开头位置  \Z只匹配末尾或末尾换行符之前的位置
    *?匹配前面的模式元素0次或多次   +?一次或多次  ??0次或1次  
    {n,}匹配前面模式元素至少n次

    
1、REGEXP_LIKE()
REGEXP_LIKE(x, pattern [,match_option]):在x中查找pattern参数中定义的正则表达式,

      match_option可为:‘c'区分大小写(默认)

                                         'I'不区分大小写

                                         'n'允许使用可以匹配任意字符的字符串

                                         'm'将x作为一个包含多行的字符串
  例如检索名字以j或J开头的顾客:

       SELECT * FROM customers  WHERE  REGEXP_LIKE( name ,'^j','i');
2、REGEXP_INSTR()
  REGEXP_INSTR(x,pattern [,start [,occurrence [,return_option
[,match_option [,subexp_option]]]]])用于x中查找pattern;返回pattern出现的位置,匹配从1开始。return_option说明该返回什么整数,若为0返回pattern中第一个字符的位置,若非0则返回pattern之后字符的位置。subexp_option是Oracle 11g新增的,对于具有子表达式的模式,subexp_option是0~9的之间的一个非负数,指出pattern中哪一个子表达式是函数的目标。
3、REGEXP_REPLACE()
  REGEXP_REPLACE(x, pattern [, replace_string [, start
 [ ,occurrence [,match_option] ] ] ])在x中查找pattern并将其替换为replace_string。
4、REGEXP_SUBSTR()
  REGEXP_SUBSTR(x, pattern [, start [ ,occurrence [,match_option 
 [, subexp_option] ] ] ])返回x中可以匹配pattern的一个子字符串,其中个字段与REGXP_INSTR()相同。
5、REGEXP_COUNT(x, pattern [,start [, match_option] ])这是11g新增加的一个函数。在x中查找pattern并返回pattern在x中出现的次数。

4.2、使用聚合函数
  AVG(x)    COUNT(x)  MAX(x)   MEDIAN(x)返回x的中间值  

  MIN(x)  STDDEV(x)返回x的标准差    SUM(x)     VARIANCE(x):返回x的方差
  聚合函数可以用于任何有效地表达式。
  聚合函数会忽略空值。
  DISTINCT关键字可以与聚合函数一起使用。

                 例如:select  AVG(DISTINCT price) FROM  products;
  使用COUNT()函数时,应避免使用*号,这样会使返回结果时需要更多的时间,应使用某一列或者ROWID伪列。
  ORDER  BY子句中也可以包含聚合函数调用
  
4.3、对行进行分组;
 1、使用group by 子句,可以指定多列。
 2、不必将group by 中用到的列包含在select之后的列列表中。
 3、如果查询中包含聚合函数,而选择的列并不在聚合函数中,那么这些列就必须在GROUP BY子句中
 4、不能在where子句中使用聚合函数来限制行;过滤行组要使用having子句。having必须与group by子句一起使用。
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Oracle Database 11g完全参考手册》是一本权威的技术书籍,提供了全面而深入的关于Oracle Database 11g的知识。该手册由Oracle公司编撰,主要面向数据库开发人员、管理员和架构师。这本书描述了Oracle Database 11g的方方面面,包括数据库基础知识、体系结构、安装和配置、管理、备份和恢复、性能调优、高可用性和安全等。 首先,该手册详细介绍了Oracle Database 11g的基础知识,包括数据库概念、SQL语言、表、视图、索引等,适合初学者入门。其次,手册着重介绍了Oracle Database 11g的体系结构,包括实例和数据库、内存结构、进程和线程等,有助于开发人员更好地理解Oracle数据库运行的原理和机制。 此,该手册还提供了丰富的管理方面的内容,包括数据库的安装和配置、用户和角色管理、表空间和数据文件管理、日志管理等。对于数据库管理员来说,这些知识非常实用,能够帮助他们管理和维护数据库的各个方面。 此,手册还深入介绍了备份和恢复的技术,包括数据备份和恢复、闪回技术等。这些内容对于数据库架构师和管理员来说非常重要,能帮助他们制定有效的备份和恢复策略,以保障数据的安全性。 另,手册还对性能调优、高可用性和安全方面进行了深入的探讨。性能调优是数据库相关工作的一个重要方面,而高可用性和安全是企业级数据库必备的特性。该手册提供了一系列的技术和最佳实践,帮助开发人员和管理员优化数据库性能,并确保数据库的高可用性和安全性。 综上所述,《Oracle Database 11g完全参考手册》是一本全面而权威的技术书籍,涵盖了Oracle Database 11g的方方面面。无论是数据库开发人员、管理员还是架构师,都可以从中获得丰富的知识和实用的技术指导,帮助他们更好地理解和使用Oracle Database 11g。 ### 回答2: 《Oracle Database 11g 完全参考手册》是一本与Oracle数据库相关的详尽参考书籍。这本书主要面向使用Oracle Database 11g开发人员、管理员和数据库专家。它提供了Oracle数据库11g的各种功能、特性和技术的全面介绍和解释。 这本书的内容非常全面,包括了数据库体系结构、安装和配置、SQL和PL/SQL编程、备份和恢复、高可用性和性能调优等方面。读者可以通过本书学习到如何使用SQL语言进行数据查询和数据操作,以及如何编写高效的PL/SQL代码。 除了基本的数据库操作,本书还介绍了Oracle数据库11g的高级特性,如分区表、索引和分布式数据库。它还详细介绍了Oracle数据库的安全性和数据保护机制,包括数据加密、访问控制和数据备份等。 此,本书还包含了很多实用的技巧和最佳实践,帮助读者更好地理解和使用Oracle数据库11g。它还提供了大量的示例代码和实例,可以帮助读者更好地理解和应用书中的知识。 总而言之,《Oracle Database 11g 完全参考手册》是一本非常全面和实用的技术书籍,适用于使用Oracle数据库11g开发人员和管理员。它不仅能够帮助读者掌握基本的数据库操作,还能够帮助他们解决复杂的问题并提高性能。无论是初学者还是有经验的专家,都可以从这本书中获益。 ### 回答3: 《Oracle Database 11g完全参考手册》是一本涵盖了Oracle Database 11g中的所有内容的权威性技术手册。该手册提供了广泛的主题,包括数据库管理、SQL和PL/SQL编程、高可用性、备份和恢复、安全性、性能调优等。 首先,该手册提供了全面的数据库管理知识。它介绍了如何安装、配置和升级Oracle数据库,以及如何管理数据库对象、用户和权限。此,还详细介绍了数据字典和动态性能视图,帮助管理员监控和诊断数据库的健康状况。 其次,该手册深入介绍了OracleSQL和PL/SQL编程。它解释了SQL语言的各种方面,包括数据查询、插入、更新和删除。此,PL/SQL的基础和高级概念也都有详细的说明,包括存储过程、函数和触发器的编写。 此,《Oracle Database 11g完全参考手册》还讨论了数据库的高可用性和容错机制。它覆盖了RAC集群、物理和逻辑备份、以及数据恢复的各个方面。通过阅读该手册,用户可以学习到如何创建高可用的数据库环境,并提高数据库的可用性和可靠性。 另,该手册还介绍了Oracle数据库的安全性功能。它详细讨论了用户认证、权限管理、数据加密和审计等方面的内容,帮助用户保护数据库免受安全威胁。 最后,该手册还包含了性能调优的重要知识。它解释了如何分析SQL执行计划和性能瓶颈,并提供了优化数据库性能的实用技巧和建议。 总之,《Oracle Database 11g完全参考手册》是一本非常有价值的技术手册。无论是初学者还是有经验的数据库专业人员,都可以通过阅读该手册学习到丰富的Oracle数据库知识,并在实践中获得更好的表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值