第四章TSQL程序设计基础 ◆ SQL Server数据类型 ◆ SQL Server全局变量和局部变量 ◆ SQL Server函数 ◆T-SQL控制流程 ◆游标
1 第四章 T-SQL程序设计基础 SQL Server数据类型 SQL Server 全局变量和局部变量 SQL Server 函数 T-SQL 控制流程 游标
系统数据类型 ◆数据类型指定列、存储过程参数及局部 变量的数据特性 ◆数据按照数据类型存储在列中 系统数据类型:系统数据类型是SQL Server支持的内置数据类型,系统数据类 型有25种。 用户定义的数据类型:用户根据系统数据类 型自己定义的数据类型
2 系统数据类型 数据类型指定列、存储过程参数及局部 变量的数据特性 数据按照数据类型存储在列中 ◼ 系统数据类型:系统数据类型是 SQL Server 支持的内置数据类型,系统数据类 型有25种。 ◼ 用户定义的数据类型:用户根据系统数据类 型自己定义的数据类型
系统数据类型 语法存储长度适用范围 备注 字Char(n)N字节固定长度的非 N为1 符 Unicode字符数据,8000范 型 输入字符少于m以围 空格填满。若超长 则截掉。 Varchar|实际长度N为最大长度小于N可节省空 时不加空格 Nchar(n)N单位 Unicode标准,两N为1 Nvarchar存储大个字节为存储单位,4000 容纳量增加了。 围 r(n)输入数据的 实际长度
3 系统数据类型 语法 存储长度 适用范围 备注 字 符 型 Char(n)N字节 固定长度的非 Unicode字符数据, 输入字符少于n,以 空格填满。若超长 则截掉。 N为1- 8000范 围 Varchar (n) 实际长度 N为最大长度小于N 时不加空格 可节省空 间 Nchar(n) N单位 Unicode标准,两 个字节为存储单位, 容纳量增加了。 N为1- 4000范 Nvarcha 围 r(n) 存储大小是 输入数据的 实际长度
系统数据类型 语法存储长度适用范围 备注 整1nt4个字节221)内所有正是唯 型 负整数 可 据ma1l12个字节|2201)内所有正iden 类 t tley 型 Tinyint1个字节0°25围的所有正整数属性 一起 使用 的类 型
4 系统数据类型 语法 存储长度 适用范围 备注 整 型 数 据 类 型 Int 4个字节 2 31~(2 31-1)内所有正 负整数 是唯 一可 以与 iden tiey 属性 一起 使用 的类 型 Smallin t 2个字节 -2 15~(2 15-1)内所有正 负整数 Tinyint 1个字节 0~255范围的所有正整数
系统数据类型 语法 存储长度适用范围 备注 浮 Real 4个字节精确到7位小数存储十 点 数 Fat8个字节最多可精确到15/燃制小 数。 据 位小数 类 ecma实际存储 Decimal(p,s 型 s表示 Numeric 小数点后的位数。 0<=s<=p<=38 例如 decimal(86)则范 围 -99999999 99999999)
5 系统数据类型 语法 存储长度 适用范围 备注 浮 点 数 据 类 型 Real 4个字节 精确到7位小数 存储十 进制小 数。 Float 8个字节 最多可精确到15 位小数 Decimal 实际存储 空间 Decimal (p,s),p 表示总位数,s表示 小数点后的位数。 0<=s<=p<=38。 例如: decimal(8,6) 则范 围( -99.999999 ~99.999999) Numeric
系统数据类型 语法存储长度适用范围 备注 货 Money8个字节用于存储货币精确度为 币型 万分之一 sm4个字节范围比 Money精确度为 moe 小 万分之 位Bt1个字节常用作逻辑变只能输入 型 量表示真假0与1非此 值当为1 6
6 系统数据类型 语法 存储长度 适用范围 备注 货 币 型 Money 8个字节 用于存储货币 精确度为 万分之一 Samll mone y 4个字节 范围比Money 小 精确度为 万分之一 位 型 Bit 1个字节 常用作逻辑变 量表示真假 只能输入 0与1非此 值当为1
系统数据类型 语法存储长度适用范围 备注 日 Patti8个字节 MM DD YYYY存储日 期me 精度三百hhmm期和时 与分之一秒AM/PM 间的结 时 ,即33175311~99合体, 毫秒。 991231 引用时 型 23:59:59 用单引 号 Sma4个字节190011~20 dateti精度1分钟7966 me
7 系统数据类型 语法 存储长度 适用范围 备注 日 期 与 时 间 型 Dateti me 8个字节 精度三百 分之一秒 ,即 3.33 毫秒。 MM DD YYYY hh:mm AM/PM 1753.1.1~99 99.12.31 23:59:59 存储日 期和时 间的结 合体, 引用时 用单引 号 Small dateti me 4个字节 精度1分钟 1900.1.1~20 79.6.6
系统数据类型 语法存储适用范围 备注 长度 Binary取决「固定长度的二进N为1~800, 进(n)于定制数据最后用检索输出 制 义 的是二进制 Harbin N+4二进制数据的长存放800节内 ary(n)字节度未知或变化较可变长数据 大时可用
8 系统数据类型 语法 存储 长度 适用范围 备注 二 进 制 型 Binary (n) 取决 于定 义 固定长度的二进 制数据 N为1~8000, 最后用检索输出 的是二进制 Varbin ary(n) N+4 字节 二进制数据的长 度未知或变化较 大时可用 存放8000字节内 可变长数据
系统数据类型 语法存储长度适用范围备注 文Text实际大小最大可存储存储长度大于 本 231-1 8000个字节 型 的二进制数据 Ntext实际大小最大可存储存储长度大于 230-1 4000个字符 的 unicode字 符串 Image实际大小最大可存储231存储长度大于 图 照片、图、画800个字符 形 的字符串
9 系统数据类型 语法 存储长度 适用范围 备注 文 本 型 Text 实际大小 最大可存储 231-1 存储长度大于 8000个字节 的二进制数据 Ntext 实际大小 最大可存储 230-1 存储长度大于 4000个字符 的unicode字 符串 图 形 image 实际大小 最大可存储231 照片、图、画 存储长度大于 8000个字符 的字符串
系统数据类型 语法存储长度适用范围备注 Timestamp8个提供数据库范单调上升 特p 字节围内的唯一值的计数器 殊 Unique16字存储一个16字节全局惟一 型 identifi节长的二进制数标识符 er 注:全局惟一标识符(GUID)由计算机网卡和 cPU时钟产生的,每台机器不会重复。 Newid( 函数可求出。 10
10 系统数据类型 语法 存储长度 适用范围 备注 特 殊 型 Timestam p 8个 字节 提供数据库范 围内的唯一值 单调上升 的计数器 Unique identifi er 16字 节 存储一个16字节 长的二进制数 全局惟一 标识符 注:全局惟一标识符(GUID),由计算机网卡和 CPU时钟产生的,每台机器不会重复。Newid() 函数可求出