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

下载本文档

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

文档简介

1,SQLServer2005数据库系统,主讲人:夏岩,2,数据表的创建与操作,3,回顾,1SQLServer数据库的存储结构2创建SQLServer数据库3查看、设置、修改数据库选项,4,定长二进制binary(n):按n个字节的固定长度存放二进制数据,最大长度为8KB,若不足,在数据尾部加0补足。变长二进制varbinary(n):按不超过n个字节的实际长度存放二进制数据,最大长度8KB,若不足,按实际长度存储3.图像二进制image:用来存放文本文档、Excel图表及图象数据(.gif、.bmp、.jpeg)等。,4.1数据类型,4.1.1二进制数据SQLServer用binary、varbinary和image三种数据类型来存储二进制数据。二进制类型用于存储声音、图像等数字类型的数据。,5,注意:1.二进制数据常量不允许加引号,默认用十进制书写,输出显示默认采用十六进制。2.若实际数据的二进制长度超过指定的n个字节,用局部变量存储时截取二进制的前n个字节。3.数据库中二进制字段的数据不能在数据表中直接输入。4.在用INSERT或UPDATE语句为数据表二进制字段输入、更新数据时,如果超过n字节,则系统报错。,6,4.1数据类型,4.1.2数值型数据SQLServer的数值型数据用8种:整型数据4种,实型数据4种。,1.字节型整数TinyInt2.短整型整数SmallInt3.基本整型整数Int或Integer4.长整型整数Bigint5.近似值实型浮点数Real6.可变精度实型浮点数Float(n)7.精确小数型数据Numeric(p.s)8.精确小数型数据Decimal(p.s)或Dec(p.s),7,4.1.3字符型数据SQLServer提供了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日期/时间型数据SQLServer提供了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货币型数据SQLServer提供了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表名,textinrow,true|false,14,说明:1.当指定TRUE选项时,允许小型文本或图像数据直接在表的行中存储,还可以指定数据大小的上限值,默认上限值是256字节。2.当数据大小不超过上限值而且数据行有足够空间时,文本和图像会直接存储在行中。3.若以上两个条件有一个不满足时,行中仍只存放指向数据存储位置的指针。,15,4.1.10局部变量的定义与输出,1.批处理:一个或多个SQL语句的集合,以GO语句为结束标志。2.局部变量:用户自定义的变量,用于临时存储各种类型的数据。3.定义局部变量语法格式:DECLARE变量名数据类型长度例:DECLARExint,sdecimal(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.比较运算符:,=,=,或!=,!,!=5且X10为假)Xnotbetween5and10(则X10条件为真,X=5且XANY(1,2,3,4)T3+1ALL(1,2,3,4,5)F(2)记录存在逻辑运算符notexists用于检查子查询返回的结果集中是否包含有记录,若包含,则exists为真,否则为假。,22,4.2.2逻辑类运算符与逻辑值表达式6.空值运算符:notisnull条件表达式:表达式notisnull说明:(1)isnull表示判断表达式的值是否等于空值,为空时条件为真,否则为假。(1)Notisnull表示判断表达式的值是否不等于空值,不为空时为真,否则为假。,23,4.2.2逻辑类运算符与逻辑值表达式7.字符模糊匹配运算符:notlike通配符通配符种类:%:代表0个或多个字符的任意字符串。“-”:代表单个任意字符“abcd”:代表指定字符中的任何一个单字符.“abc”:代表不在指定字符中的任何一个单字符。转义字符:在where子句后用escape子句指定一个转义字符,abc为字段名,查找所有以%开始的字符。例:whereabcliket%escapet,24,4.2.3字符串连接运算符连接运算符与字符串表达式字符串表达式:字符串表达式1+字符串表达式2例:ABC+DEF,则结果是:ABCDEFABC+,+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的年份数.,28,4.3系统内置函数,4.3.4类型转换函数Cast(表达

温馨提示

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

评论

0/150

提交评论