SQL数据库系统-数据类型.ppt_第1页
SQL数据库系统-数据类型.ppt_第2页
SQL数据库系统-数据类型.ppt_第3页
SQL数据库系统-数据类型.ppt_第4页
SQL数据库系统-数据类型.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1,SQL Server 2005 数据库系统,主讲人:夏岩,2,数据表的创建与操作,3,回 顾,1 SQL Server 数据库的存储结构 2 创建SQL Server 数据库 3 查看、设置、修改数据库选项,4,定长二进制 binary(n):按n个字节的固定长度存放二进制数据,最大长度为8KB,若不足,在数据尾部加0补足。 变长二进制 varbinary(n):按不超过n个字节的实际长度存放二进制数据,最大长度8KB,若不足,按实际长度存储 3. 图像二进制 image:用来存放文本文档、Excel图表及图象数据(.gif、.bmp、.jpeg)等。,4.1 数据类型,4.1.1 二进制数据 SQL Server用binary、varbinary和image三种数据类型来存储二进制数据。二进制类型用于存储声音、图像等数字类型的数据。,5,注意: 1. 二进制数据常量不允许加引号,默认用十进制 书写,输出显示默认采用十六进制。 2. 若实际数据的二进制长度超过指定的n个字节, 用 局部变量存储时截取二进制的前n个字节。 3. 数据库中二进制字段的数据不能在数据表中直接输 入。 4. 在用INSERT 或UPDATE语句为数据表二进制字段 输入、更新数据时,如果超过n字节,则系统报错。,6,4.1 数据类型,4.1.2 数值型数据 SQL Server的数值型数据用8种:整型数据4种,实型数据4种。,1. 字节型整数 TinyInt 2. 短整型整数SmallInt 3. 基本整型整数Int 或 Integer 4. 长整型整数Bigint 5. 近似值实型浮点数 Real 6. 可变精度实型浮点数 Float(n) 7. 精确小数型数据 Numeric(p.s) 8. 精确小数型数据Decimal(p.s) 或 Dec(p.s),7,4.1.3 字符型数据 SQL Server 提供了Char(n)、Varchar(n)和Text三种ASCII码字符型数据。,1. 定长字符型 Char(n):按n个字节固定存放字符串,若不足则补空格。 2. 变长字符型Varchar(n):按不超过n个字节的实际长度存放字符串。 3. 文本类型 Text:当存储字符型数据超过8000字节时,可选择Text数据类型。,8,注意: 1. 字符型数据一个英文符号占1个字节,汉字占2个字 节。 2. 字符型字符串常量必须用单引号括起来。 3. Char、Varchar数据类型若不指定长度n,默认为1 个字节。 4. 若实际字符串长度超过指定的n个字节,用局部变量 存储时截取字符串前n个字节。 5. 可以在企业管理器中直接输入到数据表中,但输入 的字符串长度超过字段指定长度时系统不接受,也 不会自动截取。 6.在用INSERT 或UPDATE语句为数据表字符型 字段输入,更新字符串时,如果超过n字节,则系统报错。,9,4.1.5 日期/时间型数据 SQL Server 提供了Smalldatetime和Datetime两种日期/时间的数据类型。,短日期/时间型 Smalldatetime 占4个字节固定长度的存放,存放1900/1/12079/6/6的日期时间,精确到分钟。 2. 基本日期/时间型 Datetime 占8个字节固定长度的存放,存放1753/1/19999/12/31的日期时间,精确到千分之一秒。,10,注意: 1. 日期/时间型常量必须用单引号括起来。 2. 用户在没有指定小时以下精确的时间数据时,自动 设置日期/时间型数据的时间为00:00:00。 3. 数据库中默认的日期格式为“年-月-日”,也可以使用 “月-日-年”或“日-月-年”。(年/月/日) 4. 如果使用“日-月-年”或“日/月/年”,系统不能区分时 默认按“月-日-年”处理。,11,4.1.6 货币型数据 SQL Server 提供了Smallmoney和Money的数据类型。,短货币型 Smallmoney 占4个字节,前2个字节是整数部分,后2个字节为小数部分。 2. 基本货币型 Money 占8个字节,前4个字节是整数部分,后4个字节为小数部分。 Money 或 Smallmoney 类型是数值常量,应加货币符号$前缀,负数时加后缀$.,12,4.1.7 位类型数据,只能存放0、1和NULL,一般用于逻辑判断 2. 占1位二进制内存,如果一个数据表中有8个以下的位类型字段,系统用一个字节存储所有这些字段,超过8个不足16个用2个字节存放。 3. 位类型数据输入任意的非0值时,都按1处理。,13,4.1.9 图像、文本型数据的存储方式,1. 存储文本、图像等大型数据时,可使用Text、Ntext和Image三种数据类型。这三种数据类型的数据量比较大。 2. 使用系统存储过程sp_tableoption指定文本或图像数据是否在表的行中存储: 语法格式:sp_tableoption 表名,text in row,true|false,14,说明: 1. 当指定TRUE选项时,允许小型文本或图像数据直 接在表的行中存储,还可以指定数据大小的上限 值,默认上限值是256字节。 2. 当数据大小不超过上限值而且数据行有足够空间 时,文本和图像会直接存储在行中。 3. 若以上两个条件有一个不满足时,行中仍只存放指 向数据存储位置的指针。,15,4.1.10 局部变量的定义与输出,1. 批处理:一个或多个SQL语句的集合,以GO语句为结束标志。 2. 局部变量:用户自定义的变量,用于临时存储各种类型的数据。 3.定义局部变量 语法格式: DECLARE 变量名 数据类型长度 例: DECLARE x int,s decimal(8.4) 说明:局部变量必须以开头以区别字段名变量,只在 一个批处理内有效.,16,4.1.10 局部变量的定义与输出,4. 局部变量的赋值 语法格式: SET 局部变量=表达式 5. 显示输出局部变量 语法格式: PRINT 局部变量或表达式,17,4.2 运算符与表达式,4.2.1 算术运算符与表达式 算术运算符: +、-、*、/、%,4.2.2 逻辑类运算符与逻辑值表达式 SQL的逻辑表达式取值有三个逻辑值: TRUE(真) FALSE(假) UNKNOWN(不确定),18,4.2 运算符与表达式,4.2.2 逻辑类运算符与逻辑值表达式 1.比较运算符:,=,=,或!=,!,! 条件表达式:表达式1 比较运算符 表达式2 2. 逻辑运算符:not(非)、and(逻辑与)、or(逻辑或) 级别:TRUE UNKNOWN FALSE(高 低) AND运算:结果取低级的 OR运算:结果取高级的 NOT运算:结果取相反的,19,4.2.2 逻辑类运算符与逻辑值表达式 3. 范围运算符:not betweenand 条件表达式: 表达式not between 起始值 and 终止值 例:X between 5 and 10(则X=5且X10为假) X not between 5 and 10(则X10条件为真,X =5且X=10为假) 注意:between所选取的数据范围包括边界值,not between不包括。,20,4.2.2 逻辑类运算符与逻辑值表达式 4. 多值列表运算符 notin() 条件表达式: not 表达式 in(值1,值2,值n) (1)in()用于判断表达式的值是否等于所给出的值之 一,只要与其中一个值相等条件就为真,全部不等为假。如:x in (1,3,5)相当于x=1 or x=3 or x=5 (2)notin()表示判断表达式的值是否全部不等于所给出的值,所有的值一个也不相等条件为真,只要有一个相等为假。 如: not x in(1,3,5)相当于 x1and x3and x5,21,4.2.2 逻辑类运算符与逻辑值表达式 5. 用于子查询的运算符 (1)列表比较运算符 ANY|ALL 表达式格式: 表达式 比较运算符 ANY(子查询的一列值) 表达式 比较运算符 ALL(子查询的一列值) 说明:只要有一个比较成立:ANY的结果为真 只有全部比较都成立:ALL的结果为真 例:3+1ANY(1,2,3,4) T 3+1ALL(1,2,3,4,5) F (2)记录存在逻辑运算符 notexists 用于检查子查询返回的结果集中是否包含有记录, 若包含,则exists为真,否则为假。,22,4.2.2 逻辑类运算符与逻辑值表达式 6. 空值运算符:not is null 条件表达式:表达式 not is null 说明: (1)is null 表示判断表达式的值是否等于空值,为空时条件为真,否则为假。 (1)Not is null 表示判断表达式的值是否不等于空值,不为空时为真,否则为假。,23,4.2.2 逻辑类运算符与逻辑值表达式 7. 字符模糊匹配运算符:not like 通配符 通配符种类: %:代表0个或多个字符的任意字符串。 “-”:代表单个任意字符 “abcd”:代表指定字符中的任何一个单字符. “abc”:代表不在指定字符中的任何一个单字符。 转义字符:在where子句后用 escape子句指定一个转义字符,abc为字段名,查找所有以%开始的字符。 例:where abc like t% escape t,24,4.2.3 字符串连接运算符连接运算符与字符串表达式 字符串表达式: 字符串表达式1+字符串表达式2 例:ABC+DEF,则结果是:ABCDEF ABC+,+EFG 则结果是:ABC,EFG,25,4.3 系统内置函数,SQL的函数分为系统函数(内置函数)和用户自定义函数。 4.3.1 数学函数,26,4.3 系统内置函数,4.3.2 字符串函数,27,4.3 系统内置函数,4.3.3 日期时间函数 Dateadd(yy|mm|dd,x,D):得到按第一个参数指定的项目 D+x的值dateadd(dd,20,2008-3-16)指定日期加20天 Datediff(yy|mm|dd,D1,D2):得到按第一个参数指定的项目D2-D1的差值 .datediff(yy,1960-3-16,getdate()可以根据出生日期得到当前的年龄 Day(D):得到D的日期数. Getdate():得到系统的日期和时间. Month(D):得到D的月份数. Year(D): 得到D的年

温馨提示

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

评论

0/150

提交评论