数据库中的常用函数

  • 格式:ppt
  • 大小:346.00 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、处理空值
空值就是没有值或者说是它是一个未知的值,它不等于数字0,一个字段 存有NULL值,意味着该字段实际上并没有存储任何值。如果空值出现在一个 数学表达式中,这个表达式的结果也将是空值,因为系统无法将一个未知的 值在数学表达式中进行计算,该表达式的结果也就未知,或者说是不存在。
有时,数据库系统能在查询和执行SQL语句时,对空值做出假设,以便包 含空值的数学表达式能够返回一个非空值。不同的数据库系统用真值替换空 值的方法是不同的。在SQL标准中指定可以使用COALESCE()函数替换空值。在 Oracle数据库中使用的同样功能的函数是NVL()函数,它是Oracle版的 COALESCE。
(2) 使用探测法进行字符串比较
某些数据库支持探测法进行字符串的比较,如Oracle和Transact-SQL。 探测法是基于字符串的发音的一种字符串的比较方法。我们使用函数 SOUNDEX( )来进行这种操作。SOUNDEX( )函数按照发音来分解单词,然后根 据发音来比较字符串而不是根据实际的字符。
数据类型 格式
范围
———— —————————— ——————————
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()函数。
二、字符串
1、字符串函数
各种SQL工具都支持多种字符串函数以方便对数据库中存储的大量的字符串数据进 行处理。这些函数在不同的数据库可能有着不同的函数名称,例如,在Oracle数据库系 统中,返回字符串长度的函数是LENGTH(),在Transact-SQL(Sybase数据库系统和 Microsoft SQL Server数据库系统使用)中,返回字符串长度的函数则是CHAR_LENGTH()。
三、时间
2、日期时间函数
SQL语句中存在日期时间数据类型的数值,就有相应的日期时间函数来对 其进行数据处理。这些日期时间函数在不同的数据库可能有着不同的函数名 称,所以在使用这些函数前一定要先查阅当前使用的数据库系统的文档资料。
在数据库系统中,许多基本的算术运算已经被作为数学函数整理出来, 用户不再需要自己建立复杂而具体的算术式,只需要调用这些数学函数,将 需要进行计算的数据作为函数的参数输入,就可以直接得到答案。数学函数 也可以使用在算术表达式中,大大简化了我们的算术运算。
Baidu Nhomakorabea、数字
2、对数字排序
数字的顺序排列是指从小到大的排列,数字的逆序排列则是从大到小的 排列。在操作数据库时,我们经常要将操作得到的结果,即数据记录集中的 数据进行排序,以方便我们对结果进行观察。在依据数字数据类型的列对数 据记录集进行排序时,记录就根据该列数值的数字顺序进行排列。
二、字符串
2、字符串运算
字符串的运算包括字符串的比较、排序和字符串的并置以及字符串函数 所能实现的所有运算的类型,还有关于子串的各种运算。
(1) 字符串的并置
使用函数CONCAT(str1,str2)可将两个或多个字符串作为一个单独的字符 串对象来处理。所有的数据库系统都提供了字符串并置运算符,在Oracle数 据库系统中,使用符号“||”来并置字符串,而在Transact-SQL(Sybase数据 库系统和Microsoft SQL Server数据库系统使用)中,使用“+”来并置字符串。
一、数字
4、格式化数字
很多数据库中存储的用于计算的数字都要求保留很高的精确度,以保证 计算结果的精确性。为此,多数数据库系统都支持非常长的数字数据类型。 例如,在Oracle8中的NUMBER数据类型就支持多达40个数字长度的数字数据。 但是在数据库产生数据报告向用户显示数字数据时,很多时候没有必要显示 那么长的数字,所以在很多情况下我们需要使用一些函数来格式化数字数据, 这些函数有ROUND( )函数和TRUNC( )。
二、字符串
3、子字符串
判定某个字符串是否包含了另一个字符串就是有关子字符串的问题了。 被检查的字符串叫主串,要查找的字符串就是子串。
绝大多数的关系数据库系统都提供了一些方法来检查某一个字符串是否 包含了另一个字符串,即主串和子串的关系。
三、时间
1、日期时间的存储和显示
在ANSI/SQL标准中,3种存储日期和时间的数据类型的格式和范围如下:
第10章 数据类型的处理
重点内容:
• 数字类型处理 • 字符串类型处理 • 时间类型处理 • 类型转换
一、数字
1、算术运算和数学函数
所有类型的数字字段存储的数据都具有相同的基本类型,就是数字。算 术运算是我们对数字类型数据的常见处理方式,而最基本的算术运算是我们 使用基本的算术运算符,比如“+”、“-”、“*”、“/”等进行的数学运算。 大部分的算术运算我们大家都已经很熟悉了,对一些较复杂的具体的问题还 有现成的数学公式可以查阅使用,有了这些,我们就能够针对某个要处理的 问题,列出所需的算术表达式来。