数据库中的常用函数.ppt_第1页
数据库中的常用函数.ppt_第2页
数据库中的常用函数.ppt_第3页
数据库中的常用函数.ppt_第4页
数据库中的常用函数.ppt_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章 数据类型的处理 重点内容: 数字类型处理 字符串类型处理 时间类型处理 类型转换 一、数字 1、算术运算和数学函数 所有类型的数字字段存储的数据都具有相同的基本类型,就是数字。算 术运算是我们对数字类型数据的常见处理方式,而最基本的算术运算是我们 使用基本的算术运算符,比如“+”、“-”、“*”、“/”等进行的数学运 算。大部分的算术运算我们大家都已经很熟悉了,对一些较复杂的具体的问 题还有现成的数学公式可以查阅使用,有了这些,我们就能够针对某个要处 理的问题,列出所需的算术表达式来。 在数据库系统中,许多基本的算术运算已经被作为数学函数整理出来, 用户不再需要自己建立复杂而具体的算术式,只需要调用这些数学函数,将 需要进行计算的数据作为函数的参数输入,就可以直接得到答案。数学函数 也可以使用在算术表达式中,大大简化了我们的算术运算。 一、数字 2、对数字排序 数字的顺序排列是指从小到大的排列,数字的逆序排列则是从大到小的 排列。在操作数据库时,我们经常要将操作得到的结果,即数据记录集中的 数据进行排序,以方便我们对结果进行观察。在依据数字数据类型的列对数 据记录集进行排序时,记录就根据该列数值的数字顺序进行排列。 3、处理空值 空值就是没有值或者说是它是一个未知的值,它不等于数字0,一个字段 存有NULL值,意味着该字段实际上并没有存储任何值。如果空值出现在一个 数学表达式中,这个表达式的结果也将是空值,因为系统无法将一个未知的 值在数学表达式中进行计算,该表达式的结果也就未知,或者说是不存在。 有时,数据库系统能在查询和执行SQL语句时,对空值做出假设,以便包 含空值的数学表达式能够返回一个非空值。不同的数据库系统用真值替换空 值的方法是不同的。在SQL标准中指定可以使用COALESCE()函数替换空值。在 Oracle数据库中使用的同样功能的函数是NVL()函数,它是Oracle版的 COALESCE。 一、数字 4、格式化数字 很多数据库中存储的用于计算的数字都要求保留很高的精确度,以保证 计算结果的精确性。为此,多数数据库系统都支持非常长的数字数据类型。 例如,在Oracle8中的NUMBER数据类型就支持多达40个数字长度的数字数据。 但是在数据库产生数据报告向用户显示数字数据时,很多时候没有必要显示 那么长的数字,所以在很多情况下我们需要使用一些函数来格式化数字数据 ,这些函数有ROUND( )函数和TRUNC( )。 二、字符串 1、字符串函数 各种SQL工具都支持多种字符串函数以方便对数据库中存储的大量的字符串数据进 行处理。这些函数在不同的数据库可能有着不同的函数名称,例如,在Oracle数据库系 统中,返回字符串长度的函数是LENGTH(),在Transact-SQL(Sybase数据库系统和 Microsoft SQL Server数据库系统使用)中,返回字符串长度的函数则是CHAR_LENGTH() 。 二、字符串 2、字符串运算 字符串的运算包括字符串的比较、排序和字符串的并置以及字符串函数 所能实现的所有运算的类型,还有关于子串的各种运算。 (1) 字符串的并置 使用函数CONCAT(str1,str2)可将两个或多个字符串作为一个单独的字符 串对象来处理。所有的数据库系统都提供了字符串并置运算符,在Oracle数 据库系统中,使用符号“|”来并置字符串,而在Transact-SQL(Sybase数据 库系统和Microsoft SQL Server数据库系统使用)中,使用“+”来并置字符 串。 (2) 使用探测法进行字符串比较 某些数据库支持探测法进行字符串的比较,如Oracle和Transact-SQL。 探测法是基于字符串的发音的一种字符串的比较方法。我们使用函数 SOUNDEX( )来进行这种操作。SOUNDEX( )函数按照发音来分解单词,然后根 据发音来比较字符串而不是根据实际的字符。 二、字符串 3、子字符串 判定某个字符串是否包含了另一个字符串就是有关子字符串的问题了。 被检查的字符串叫主串,要查找的字符串就是子串。 绝大多数的关系数据库系统都提供了一些方法来检查某一个字符串是否 包含了另一个字符串,即主串和子串的关系。 三、时间 1、日期时间的存储和显示 在ANSI/SQL标准中,3种存储日期和时间的数据类型的格式和范围如下: 数据类型 格式 范围 DATE YYYY-MM-DD 0001-01-01 TO 9999-12-31 TIME HH:MI:SS.nn 00:00:00 TO 23:59:61.999 TIMESTAMP YYYY-MM-DD HH:MI:SS.nn 0001-01-01 00:00:00 TO 9999-12-31 23:59:61.999 由于很多国家对时间的表达习惯不同,使数据库系统中所使用的日期和时间的存 储和显示方法都可以变化。例如美国习惯用month/day/year的格式来表示日期,用 hour:minute am/pm的格式来表示时间,例如10/1/2000,5:27 pm。每个数据库系统中 都有其默认的日期和时间格式,由于不同时间表达习惯的存在,针对不同的用户习惯 或者要求,数据库可能需要在显示日期数据之前执行一些对数据的格式化处理。同样 ,对这些用户输入的时间日期数据值,数据库也需要进行相反的格式化处理,转化为 系统默认的存储格式。我们可以使用数据库系统中的一些时间函数来完成这些格式化 操作。Oracle数据库系统提供了TO_CHAR()和TO_DATE()函数来完成时间日期数据格式 的转换,其它数据库系统也有类似的函数,例如,在Transact-SQL中,我们可以使用 通用的数据转换函数CONVERT()函数。 三、时间 2、日期时间函数 SQL语句中存在日期时间数据类型的数值,就有相应的日期时间函数来对 其进行数据处理。这些日期时间函数在不同的数据库可能有着不同的函数名 称,所以在使用这些函数前一定要先查阅当前使用的数据库系统的文档资料 。 三、时间 3、日期时间的算法 日期时间数据的运算类型不多,包括日期时间的比较、加减日期时间、 格式化时间值等。但是日期时间的运算在某种程度上是比数字和字符串更复 杂一些的,因为,在不同的数据库系统中,对日期时间的处理方法并不一样 。例如,Oracle只能提供DATE一种时间日期类型,而Transact-SQL则可以提 供大量的类型。另外,在不同的数据库系统中,对时间日期进行格式化和其 它处理的函数也会有很大的差别,通常会完全不同。 四、类型转换 3、日期时间的算法 如果出现了所列出的类型不匹配的情况,只需要将其中的一些数据进行 类型转换就可以让SQL语句正常运行了。在介绍时间类型数据的小节中,已经 接触了几种转换函数:TO_CHAR( )、Oracle中的TO_DATE( )和通用转换函数 CONVERT( )。这里简单介绍SQL标准中的三个转换函数:CONVERT( )、 TO_CHAR( )和TO_NUMBER( )函数。 CONVERT( ) 该函数是通用的转换函数,可以进行多种数据类型间的转换。 CONVERT( )使用三个参数:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论