长度,精度,经纬度6位小数精确度位数或代码页设置的值为非零,而数据类型要求此值为零

数据类型 PostgreSQL 手册第三章表的创建和使用;3.1VFP6.0表;1.表的概念表(数据表):;是指存放在磁盘文件中的一张二维表;表名可以由字母、数字或下划线组成,系统自动给出的;当表中有备注型或通用型字段时,系统自动生成与所属;(1)每一个字段不可再分解,也不能有名字相同的字;包括:字段名、数据类型、字段宽度、小数位数、空值;即每个字段的名字,必须以字母开头,可由字母、数字;字段
第三章 表的创建和使用 3.1 VFP6.0表 1. 表的概念 表(数据表): 是指存放在磁盘文件中的一张二维表。(相当FoxPro 2.x 版本中的数据库) 自由表:不属于任何数据库的表。 数据库表:包含在一个数据库中的表。 表文件名:
表名可以由字母、数字或下划线组成,系统自动给出的扩展名为 .DBF。 备注文件名: 当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。 表结构:存储表记录的公共结构。(就是指一张表的表头结构,即字段的属性)。 记录:表中的一行。它是多个字段的集合,同一张表的每个记录都有相同的字段。 字段:表中的一列。它规定了数据的特征。 关系型数据表的特点: (1)每一个字段不可再分解,也不能有名字相同的字段; (2)每一列中的数据都有相同的数据类型; (3)表中没有内容完全相同的行(记录)。 2. 字段的基本属性 字段的属性: 包括:字段名、数据类型、字段宽度、小数位数、空值支持 字段名: 即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。如果从数据库中移去一个表,那么此表的长字段名将被截短成 10 个字符。 VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。 数据类型:指该字段的数据特征。 字段宽度:指该字段所能容纳数据的的最大字节数。 小数位数:指数值型数据将保留几位小数。此时的字段宽度 = 整数位数+1+小数位数。 NULL 值(空值): 无明确的值。NULL 值不等同于零或空格。一个 NULL 值不能认为比某个值(包括另一个 NULL 值)大或小,相等或不同。 VFP 6.0表中字段的数据类型
字段类型 代号 说明 字母、汉字和数字型文本 货币单位 包含有年、月和日的数据 字段宽度 每个字符为1个字使用示例 字符型 货币型 日期型 C Y D 学生的学号或姓名, \或 '节,最多可有 254 李立' 个字符 8 个字节 8 个字节 {^} 上班时间,
{^ 9:15:15 AM} 课程是否为必修课,
1 个字节 .T. 或 .F. 在内存中占 8 个工资, $1246.89 出生日期,
日期时间型 T 包含有年、月、日、时、8 个字节 分、秒的数据 “真”或“假”的布尔值 逻辑型 L 数值型 双精度型 浮点型 整型 通用型 N B F I G 整数或小数 双精度浮点数 与数值型一样 不带小数点的数值 OLE 对象 字节;在表中占1 考试成绩, 83.5 至20个字节 8 个字节
4 个字节 在表中占 4 个字节 在表中占 4 个字节 实验要求的高精度数据
学生的数量 图片或声音 备注型 字符型(二进制) M C 不定长度的一段文字 学生简历 任意不经过代码页修改每个字符用1个字而维护的字符数据
节,最多可有 254 个字符 备注型(二进制) M 任意不经过代码页修改在表中占 4 个字而维护的备注数据 节
3. 表的基本操作 表的创建:设计表名和表结构、输入记录、建立索引 数据维护:增加记录、修改记录、删除记录 创建表的主要步骤: 设计表结构 → 输入记录 → 建立索引 → 数据维护 4.关于表操作的几个基本命令 命令格式 CREATE 表文件名 USE 表文件名 USE LIST ALL DISPLAY ALL DISPLAY STRUCTURE LIST STRUCTURE MODIFY STRUCTURE CLEAR 创建一个新的自由表的结构 打开指定的表文件 关闭当前表文件 显示当前表的全部记录内容(类似于DOS 命令中的dir) 分屏式地显示当前表的全部记录内容(类似于DOS中的dir/p) 显示当前表的结构(分屏显示) 显示当前表的结构(不分屏显示) 调出表设计器,修改当前表的结构。 清除主窗口中的所有内容 功能 注意: (1)必须先打开所需的数据表才可进行以上操作; (2)当带有命令子句时,只对指定的记录进行操作; (3)LIST 命令的默认范围是所有记录,DISPLAY 命令的默认范围是当前记录。
3.2 表结构的创建和修改 1. 表结构的创建 创建表结构其实就是设计字段的基本属性。可以使用表设计器、表向导或SQL命令来创建表结构。 (1)使用表设计器创建表 [图例] 步骤: 从文件菜单中单击新建 → 在新建对话框中选择表并单击新文件 → 在创建对话框中给出文件名并确定所需的保存位置 → 在表设计器对话框中逐个输入所需字段(用↓或鼠标换行),全部字段输入完成后单击确定。 (2)使用表向导创建表 步骤: 从文件菜单中单击新建 → 在新建对话框中选择表并单击向导→在表向导中做第1步:选取字段,完成后单击下一步 → 在表向导中做第1a步:选择数据库,完成后单击下一步 → 在表向导中做第2步:修改字段设置,完成后单击下一步 → 在表向导中做第3步:为表建索引,完成后单击下一步 → 在表向导中做第4步:完成,选择表的保存方法,完成后单击完成 → 在另存为对话框中给出文件名并确定所需的保存位置。 注意: 先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修改或直接采用原字段的宽度。 (3) 使用 CREATE TABLE - SQL命令 该命令的一般格式为: CREATE TABLE |dbf (字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]??) 例:CREATE TABLE xscj(xh c(8),xm c(6),xb c(2),;cj n(5,1),ksrq d) 2. 表结构的修改 (1)用表设计器修改 用菜单调出表设计器:
打开所需的表文件 → 单击显示菜单中的表设计器 → 在表设计器对话框中对字段进行修改 → 修改完毕单击确定并在消息框中选择是。
用命令调出表设计器:
MODIFY STRUCTURE
(2) 使用 ALTER TABLE - SQL命令 功能 命令格式示例 添加字段 重命名字段 删除字段
ALTER TABLE xscj ADD COLUMN kcmc C(14) ALTER TABLE xscj RENAME COLUMN kcmc TO kc ALTER TABLE xscj DROP COLUMN kc
1. 记录的输入 (1) 立即输入方式:
3.3 表记录的处理 设计好表的结构后,系统会提示是否直接进入数据输入状态。若选是,则进入编辑窗口,输完后单击“X”按钮退出,系统自动存盘。需输入备注型或通用型字段的数据时,双击“memo” 或“gen”,在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口 ,此时字段中的“memo” 或“gen”变成“Memo” 或“Gen”。 (2) 追加方式: 若设计好表的结构后并没有及时输入数据,则可以用追加方式: 从文件菜单中(或从命令窗口中输入:USE 表文件名) 打开所需表文件 → 从显示菜单中选择浏览 → 再从显示菜单中选择追加方式 → 在浏览窗口中输入所需记录。 不同追加方式适用的场合
追加记录的方式 显示菜单中的追加方式 表菜单中的追加新记录 表菜单中的追加记录? 适用的场合 在现有数据表的尾部添加一个或多个新记录 在现有数据表的尾部添加一个新记录 从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部 在当前表的末尾自动添加一个或多个新记录。相当于显示菜单中的追加方式。有BLANK时添加一个空记录,相当于表菜单中的追加新记录。 APPEND [BLANK] APPEND FROM 表文件名 [FIELDS 从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当字段名1,字段名2 ?][FOR 条件 ]
前数据表的尾部。相当于表菜单中的追加记录?。 将符合要求的文本文件全部追加在当前数据表的尾部。
注意:文本内容要与表中的字段结构相适应。
将其它类型的文件转换成一个完整的VFP数据表。 APPEND FROM 文本文件名 SDF 文件菜单中的导入
(3) 使用INSERT-SQL命令 该命令的一般格式为: INSERT INTO [(字段名1[,字段名2 ?])] VALUES (表达式1[,表达式2 ?]) 三亿文库包含各类专业文献、各类资格考试、幼儿教育、小学教育、中学教育、外语学习资料、应用写作文书、专业论文、文学作品欣赏、生活休闲娱乐、2012江苏计算机二级VFP考试资料89等内容。 
 江苏省计算机等级考试二级 VFP 复习资料 江苏省计算机等级考试二级 VFP 复习资料计算机的应用领域:科学计算、数据处理(70%)、自动控制、辅助设计、人工智能 数据处理...  2012春江苏省计算机二级VFP笔试考试真题(含答案)_IT认证_资格考试/认证_教育专区。2012 春江苏省计算机二级 VFP 笔试考试真题第一部分 1. 计算机基础知识。 下列有...  江苏计算机二级考试VFP笔试真题及答案 _IT认证_资格考试/认证_教育专区。2005 年春季江苏省计算机等级考试二级 VFP 考试试题 第一部分 计算机基础知识 1....  2012江苏省计算机二级VFP笔试考试真题_其它考试_资格考试/认证_教育专区。2012 春江苏省计算机二级 VFP 笔试考试真题 第一部分 1. 计算机基础知识 。 下列有关信息...  2012江苏省计算机二级VF... 13页 免费 江苏省计算机二级VFP考试... 60页 1下载...下列常用 VFP 基类中,只能是容器类的组成部分、不能基于它创建子类的是 26 ...  2008 年春季江苏省计算机等级考试二级 VFP 考试试题第一部分:计算机基础知识 一、选择题(用答题卡答题,答案依次填在 1―20 答题号内) 1. 在下列有关微电子技术...  【内部资料】2014江苏计算机二级vfp考试要点_IT认证_资格考试/认证_教育专区。比较全,我自己有整理看这个,然后今年过了。江苏二级 vfp 第一章 数据库系统基础知识 ...  江苏省计算机等级考试二级VFP考试试题及答案历年综合大全_IT认证_资格考试/认证_教育专区。江苏省计算机等级考试二级VFP考试试题及答案历年综合大全2005...SQL Server 数据类型 -
- ITeye博客
博客分类:
SQL Server中的数据类型
数据类型 bit
类型&&& 整型
描述&&& bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off
int
int 数据类型可以存储从- 231(-)到231 ()之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节
smallint
smallint 数据类型可以存储从- 215(-32768)到215(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间
tinyint
tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。这种数据类型在数据库中占用1 个字节
numeric
精确数值型
numeric数据类型与decimal 型相同
decimal
精确数值型
decimal 数据类型能用来存储从-38-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数
money
money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一
smallmoney
smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-8 到7 之间的数据,精确到货币单位的万分之一
float
近似数值型
float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数
real
近似数值型
real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数
datetime
日期时间型
datetime数据类型用来表示日期和时间。这种数据类型存储从日到 1日间所有的日期和时间数据, 精确到三百分之一秒或3.33毫秒
Smalldatetime
日期时间型
smalldatetime 数据类型用来表示从日到日间的日期和时间,精确到一分钟
cursor
特殊数据型
cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用
timestamp
特殊数据型
timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的唯一数码。一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。尽管它的名字中有“time”,但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是唯一的
Uniqueidentifier
特殊数据型
Uniqueidentifier数据类型用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为唯一标识符来初始化具有唯一标识符的列
char
char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符
varchar
varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度
text
text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符
nchar
统一编码字符型
nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍
nvarchar
统一编码字符型
nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍
ntext
统一编码字符型
ntext 数据类型用来存储大量的统一编码字符型数据。这种数据类型能存储230 -1或将近10亿个字符,且使用的字节空间增加了一倍
binary
二进制数据类型
binary数据类型用来存储可达8000 字节长的定长的二进制数据。当输入表的内容接近相同的长度时,你应该使用这种数据类型
varbinary
二进制数据类型
varbinary 数据类型用来存储可达8000 字节长的变长的二进制数据。当输入表的内容大小可变时,你应该使用这种数据类型
image
二进制数据类型
image 数据类型用来存储变长的二进制数据,最大可达231-1或大约20亿字节
SQL Server 2005的数据类型与SQL 2000有一些不同
SQL Server2005 中的数据类型
1、精确数字
&& I) 整型数据类型int、bigint、smallint 和 tinyint
数据类型 bigint
范围&&&& -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)
存储&&&& 8 字节
int
-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
4 字节
smallint
-2^15 (-32,768) 到 2^15-1 (32,767)
2 字节
tinyint
0 到 255
1 字节
II) bit& 可以取值为 1、0 或 NULL 的整数数据类型。如果表中的列为 8 bit 或更少,则这些列作为 1 个字节存储。如果列为 9 到 16 bit,则这些列作为 2 个字节存储,以此类推。字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。
III) decimal 和 numeric,两者都是带固定精度和小数位数的数值数据类型。decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )] 两者都是固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。numeric 在功能上等价于 decimal。p(精度)最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。s(小数位数)小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0;因此,0 &= s &= p。最大存储大小基于精度而变化。
Ⅳ) money 和 smallmoney,两者是 代表货币或货币值的数据类型。
money
-922,337,203,685,477.5808 到 922,337,203,685,477.5807
8 字节
smallmoney
-214,748.3648 到 214,748.3647
4 字节
money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。
2、近似数字 float 和 real,两者用于表示浮点数值数据的大致数值数据类型。浮点数据为近似值;因此,并非数据类型范围内的所有值都能精确地表示。
float
-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308
取决于 n 的值
real
-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38
4 字节
float [ ( n ) ] 其中 n 为用于存储 float 数值尾数的位数,以科学记数法表示,因此可以确定精度和存储大小。如果指定了 n,则它必须是介于 1 和 53 之间的某个值。n 的默认值为 53。
3、日期和时间& datetime 和 smalldatetime 两者用于表示某天的日期和时间的数据类型。
数据类型 datetime
范围&&&& 1753 年 1 月 1 日到 9999 年 12 月 31 日
精确度&& 3.33 毫秒
smalldatetime
1900 年 1 月 1 日到 2079 年 6 月 6 日
1 分钟
datetime用两个 4 字节的整数存储,第一个 4 字节存储“基础日期”(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参照日期。另外一个 4 字节存储天的时间(以午夜后经过的毫秒数表示)。
smalldatetime 数据类型存储天的日期和时间,但精确度低于 datetime。数据库引擎 将 smalldatetime 值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后经过的分钟数。
4、字符串char [ ( n ) ],varchar [ ( n | max ) ],text
char [ ( n ) ]可以存储字母数字值,固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。
varchar [ ( n | max ) ] 可以存储字母数字值,可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。
text服务器代码页中长度可变的非 Unicode 数据,最大长度为 2^31-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储仍是 2,147,483,647 字节。根据字符串,存储大小可能小于 2,147,483,647 字节。
备注:在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。请避免在新开发工作中使用这些数据类型,并考虑修改当前使用这些数据类型的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
5、Unicode字符串& nchar [ ( n ) ],nvarchar [ ( n | max ) ],ntext
nchar [ ( n ) ] ,n 个字符的固定长度的 Unicode 字符数据。n 值必须在 1 到 4,000 之间(含)。存储大小为两倍 n 字节。如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。
nvarchar [ ( n | max ) ],可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间(含)。max 指示最大存储大小为 2^31-1 字节。存储大小是所输入字符个数的两倍 + 2 个字节。所输入数据的长度可以为 0 个字符。如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。
ntext是长度可变的 Unicode 数据,最大长度为 2^30 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。
备注:如果站点支持多语言,请考虑使用 Unicode nchar 或 nvarchar 数据类型,以最大限度地消除字符转换问题。
6、二进制字符串& binary [ ( n ) ],varbinary [ ( n | max ) ],image
binary [ ( n ) ],varbinary [ ( n | max ) ]两者是固定长度或可变长度的 Binary 数据类型。binary [ ( n ) ] 长度为 n 字节的固定长度二进制数据,其中 n 是从 1 到 8,000 的值。存储大小为 n 字节。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果未使用 CAST 函数指定 n,则默认长度为 30。varbinary [ ( n | max ) ] 可变长度二进制数据。n 可以取从 1 到 8,000 的值。max 指示最大的存储大小为 2^31-1 字节。存储大小为所输入数据的实际长度 + 2 个字节。所输入数据的长度可以是 0 字节。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果未使用 CAST 函数指定 n,则默认长度为 30。
&& Image长度可变的二进制数据,从 0 到 2^31-1 (2,147,483,647) 个字节。
7、其他数据类型
& Ⅰ) 这是变量或存储过程 OUTPUT 参数的一种数据类型,这些参数包含对游标的引用。使用 cursor 数据类型创建的变量可以为空。
有些操作可以引用那些带有 cursor 数据类型的变量和参数,这些操作包括:
DECLARE @local_variable 和 SET @local_variable 语句。
OPEN、FETCH、CLOSE 及 DEALLOCATE 游标语句。
存储过程输出参数。
CURSOR_STATUS 函数。
sp_cursor_list、sp_describe_cursor、sp_describe_cursor_tables 以及 sp_describe_cursor_columns 系统存储过程。
备注:对于 CREATE TABLE 语句中的列,不能使用 cursor 数据类型。
Ⅱ) sql_variant
一种数据类型,用于存储 SQL Server 2005 支持的各种数据类型(不包括 text、ntext、image、timestamp 和 sql_variant)的值。
sql_variant 可以用在列、参数、变量和用户定义函数的返回值中。sql_variant 使这些数据库对象能够支持其他数据类型的值。
Ⅲ)table
一种特殊的数据类型,用于存储结果集以进行后续处理。table 主要用于临时存储一组行,这些行是作为表值函数的结果集返回的。可将函数和变量声明为 table 类型。table 变量可用于函数、存储过程和批处理中。
Ⅳ) timestamp
公开数据库中自动生成的唯一二进制数字的数据类型。timestamp 通常用作给表行加版本戳的机制。存储大小为 8 个字节。
每个数据库都有一个计数器,当对数据库中包含 timestamp 列的表执行插入或更新操作时,该计数器值就会增加。该计数器是数据库时间戳。这可以跟踪数据库内的相对时间,而不是时钟相关联的实际时间。一个表只能有一个 timestamp 列。每次修改或插入包含 timestamp 列的行时,就会在 timestamp 列中插入增量数据库时间戳值。这一属性使 timestamp 列不适合作为键使用,尤其是不能作为主键使用。对行的任何更新都会更改 timestamp 值,从而更改键值。如果该列属于主键,那么旧的键值将无效,进而引用该旧值的外键也将不再有效。如果该表在动态游标中引用,则所有更新均会更改游标中行的位置。如果该列属于索引键,则对数据行的所有更新还将导致索引更新。
使用某一行中的 timestamp 列可以很容易地确定该行中的任何值自上次读取以后是否发生了更改。如果对行进行了更改,就会更新该时间戳值。如果没有对行进行更改,则该时间戳值将与以前读取该行时的时间戳值一致。rowversion 的数据类型为 timestamp 数据类型的同义词,并具有数据类型同义词的行为。在 DDL 语句,请尽量使用 rowversion 而不是 timestamp。如果不指定列名,则 Microsoft SQL Server 2005 Database Engine 将生成 timestamp 列名;但 rowversion 同义词不具有这样的行为。在使用 rowversion 时,必须指定列名。不可为空的 timestamp 列在语义上等同于 binary(8) 列。可为空的 timestamp 列在语义上等同于 varbinary(8) 列。
Ⅴ) uniqueidentifier
16 字节 GUID。uniqueidentifier 数据类型的列或局部变量可通过以下方式初始化为一个值:
使用 NEWID 函数。
从 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 形式的字符串常量转换,其中,每个 x 是一个在 0-9 或 a-f 范围内的十六进制数字。例如,6F9619FF-8B86-D011-B42D-00C04FC964FF 为有效 uniqueidentifier 值。
比较运算符可与 uniqueidentifier 值一起使用。不过,排序不是通过比较两个值的位模式来实现的。可针对 uniqueidentifier 值执行的运算只有比较运算(=、&&、&、&、&=、&=)以及检查是否为 NULL(IS NULL 和 IS NOT NULL)。不能使用其他算术运算符。除 IDENTITY 之外的所有列约束和属性均可对 uniqueidentifier 数据类型使用。
具有更新订阅的合并复制和事务复制使用 uniqueidentifier 列来确保在表的多个副本中唯一地标识行。
Ⅵ) xml
存储 XML 数据的数据类型。可以在列中或者 xml 类型的变量中存储 xml 实例。存储的 xml 数据类型表示实例大小不能超过 2 GB。
浏览: 22595 次
来自: 成都
很有帮助,知道性能在哪里出ude问题了
挺好的。学习了第三讲&&&SQL&server&2000的数据类型
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
第三讲&& SQL server 2000的数据类型
一、数据类型:&
创建表的字段时,必须为其指定数据类型。字段的数据类型决定了数据的精度、取值范围和存储格式等。
字段的数据类型可以是SQL Server提供的系统数据类型,也可以是用户自定义的数据类型。
Server 2000为用户提供了二十多种系统数据类型,如下:
数据类型&&&&&&&&&
整数型&&&bigint,int,smallint,tinyint
精确数值型&&&&&&&&&
decimal,numeric
浮点型&&&float,real
货币型&&&money,smallmoney
位型&&&bit
字符型&&&char,varchar,text
统一码型&&&&&&&&&
nchar,nvarchar,ntext
二进制型&&&&&&&&&
binary,varbinary,image
日期时间型&&&&&&&&&
datetime,smalldatetime
时间戳型&&&&&&&&&
其他&&&cursor,sql_variant,table,uniqueidentifier
说明:数值型数据涉及到精度、小数位数;长度则是每种数据类型都要涉及到的。
精度:是数值型数据中所存储的十进制数据的总位数,如:的精度为8, 1.25的精度为3
2)小数位数:是数值数据中小数点右边数字的位数,如:1.25的小数位数2
再如:的精度是7,小数位数是3
3)长度:指存储数据所使用的字节数
二、常用的数据类型:
1、整数型:分为bigint、int、smallint、tinyint 四类,它们的取值范围逐渐缩小。
整数类型&&&&&&&&&
精度&&长度(字节数)&&数值范围
bigint(大整数)&&
8&&&-2^63~2^63-1(-5807)
int(整数)&&&&&&&&&&
4&&&-2^31~2^31-1(-~)
smallint(短整数)&&&&&&
2&&&-2^15~2^15-1(-)
tinyint(微短整数)&&&&&
说明:整数型数据可以在较少的字节里存储较大的精确数字,而且存储结构的效率很高。所以,平时在选用数字类型时,应尽量选用该数据类型。
2、精确数值型
精确数值型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以完整的精度存储十进制数。
精确数值型包括decimal和numeric两类。二者用法基本相同。
&& (1)声明精确数值型数据的格式是:
numeric|decimal(p[,s])&
&& P:精度
&& s:小数位数,其默认值为0
例如:decimal(6,3)表示:精度为6,小数位数为3,即如果该列赋值为563.4689,则实际存储的是563.468。
再如:如果该列赋值为45.87687,则实际存储的是45.876,若为1.2349,则实际存储的是 1.234
&& (2)精确数值型数据的精度与存储长度
decimal和numeric型数据的取值范围都为-10^38+1~10^38-1,存储长度随精度变化而变化,最少为5个字节,最多17个字节。
&&&&&&&&&&&&&&&&
&精确数值型数据的精度与存储长度表
&&&精度&&&&&
长度(字节数)
&&&1~9&&&5
&&&10~19&&&&&&&&&
&&&20~28&&&&&&&&&
&&&29~38&&&&&&&&&
例如:若声明数据为numeric(8,3),则存储该类型数据需要5个字节;声明numeric(22,5),则存储该类型数据需要13字节
注意:声明精确数值型数据时,其小数位数不能大于精度,即0&=s&=p,且1&=p&=38
浮点型也称为近似数值型,能存储范围非常大的数字,这类数据在精度范围内是准确的,但当一个数超过精度时,就要发生舍入误差,它可用于处理取值范围非常大且对精确度要求不高的数字(如人口统计数据)。
浮点型数据细分为两种:float和real。
如:9.8431E10,-8.932E8, 3.68963E-6&等都是浮点型数据。
&&&&&&&&&&&&&&&&
浮点型数数据的精度、长度和取值范围表
类型&&&&精度&&长度(字节数)&&数值范围
real&&&&7&&4&&&-3.40E+38
~ 3.40E+38
float&&&&&&&&&&
15&&8&&&-1.79E+308
~ 1.79E+308
浮点型常量的表示方法:使用科学记数法表示。
&& SQL Server
2000提供了两个专门用于处理货币数据的数据类型:money和smallmoney,以表示正的或负的货币值。货币型数据存储的货币值可精确到为4位小数(万分之一),相当于带4位小数的decimal类型。
&&&&&&&&&&&&&&&&&&&&&&&
精度、长度和取值范围表
类型&&&&&&&&&
精度&& 小数位数&
长度& &数值范围
money&&19&&&
8&&-477.5808 ~
smallmoney&&&&&&&&
&& 如果货币值超过了上述范围,则可使用 decimal
数据类型代替。
货币型常量的表示方法:-$45.56、$
5、位型 :bit
bit型数据取值范围只能为0、1,常用于表示逻辑判断,相当于其他语言中的逻辑型数据,用于表示真或假。其长度为1个字节。
&& bit型常量的表示方法:使用数字 0 或 1
表示。如果使用一个大于 1 的数字,系统会自动将其转换为 1。
用于存储字符串,字符串可由字母、数字、空格、汉字或其他特殊符号(如#、@、&等)组成。(一个英文符号占1个字节,一个汉字占2个字节)。
字符型常量的表示方法:将字符串用单引号括起来,如:'abc'、'1234'
字符型数据包括三类:定长字符型(char)、变长字符型(varchar)和文本型(text),常用的为前两种。
(1)、char(n):定长字符数据类型,其中:n定义了字符型数据的长度,n在1~8000之间,默认值为1,若实际要存储的串长度不足n时,则在串的尾部添加空格以达到长度n。若输入的字符个数超过了n,则超出的部分被截断。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
例如:某列的数据类型为char(20),而输入的字符串为“test2004”,则实际存储的是字符test2004和12个空格。
(2)、varchar(n):变长字符数据类型,n表示字符串可达到的最大长度,n在1~8000之间,实际存储varchar(n)的长度为字符串的实际长度,而不填充空格。
例如:某列的数据类型为varchar(100),而输入的字符串为"test2004",则实际存储的就是字符串test2004,其长度为8字节。
(3)、text:
当需要存储的字符数据(如较长的备注、日志信息等)非常庞大,以至于8000个字节不够用时,应选择文本型数据类型。
text数据类型专门用于存储数量庞大的变长字符数据。最大长度可达到2^31-1()个字节,约2G。
7、统一码型:Unicode 型
Unicode是“统一字符编码标准”,用于支持国际上非英语语种的字符型数据的存储和处理(即用于存储需要使用两个字节才能存储的双字节字符,如汉字等)。
Unicode型包括nchar(n)、nvarchar(n)和ntext三类。
(1)nchar(n):包含n个字符的固定长度的双字节数据类型。n的值在1~4000之间,默认值为1,长度为2n字节,若输入的字符串长度不足n,将以空格补足。
(2)nvarchar(n):最多包含n个字符的可变长度的双字节数据类型。n的值在1~4000之间,默认值为1,长度是所输入字符个数的2倍,不填充空格。
注意:nchar、nvarchar与char、varchar的使用非常相似,只是字符集不同(前者使用Unicode字符集,后者使用ASCII字符集)
(3)ntext:用于存储可变长度的双字节字符型数据,最多可存储(2^31-1)/2个双字节字符,其它属性与使用方法同text。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
8、二进制型:用于存储声音、图像、Word文档、Excel图表等数据。
二进制数据类型包括binary、varbinary、image三种数据类型。
(1)binary(n):表示固定长度的n个字节二进制数据。N的取值范围为:1~8000(8KB)。
若实际数据长度小于n,则在数据尾部加0补足n个字节;若输入的数据长度大于n,则多余部分被截断。,
binary(n)数据的存储长度为n+4字节。
(2)varbinary(n):表示不超过n个字节的变长二进制数据。n取值范围为1~8000(8KB)。
&& 若实际数据长度小于n,则按实际长度存储数据,不用0
填充。存储长度为实际输入数据长度加上4个字节。
(3)image:用于存储字节数超过8KB的二进制数据。可存储最多达2^31-1()字节的二进制数据。
9、日期时间型
用于存储日期和时间信息,包括datetime和smalldatetime两类。
(1)、datetime类型:可表示从日到日的日期时间,可精确到百分之三秒,数据的存储长度为8字节。
(2)、smalldatetime类型:可表示从日到日的日期时间,可精确到分钟,数据的存储长度为4字节。
日期时间型常量的表示方法:也必须用单引号括起来,如:' 10:30:12'&
或' 10:30:12'
10、其他数据类型:
1)cursor类型:是游标数据类型,用于创建游标变量或定义存储过程的输出参数
2)sql_variant:一种存储SQL
Server支持的各种数据类型(除text\ntext\image\timestamp\sql_variant外)值的数据类型
sql_variant的最大长度可达8016字节
3)table类型:用于存储结果集的数据类型,结果集可以供后续处理。
4)uniqueidentifier是惟一标识符类型,系统将为这种类型的数据产生惟一标识值,是一个16字节长的二进制数据
5)时间戳型:用timestamp表示,若创建表时定义一个列的数据类型为时间戳类型,每当以该表加入新行或修改已有行时,都由系统自动将一个计数器加到该列,即将原来的时间戳值加上一个增量。记录timestamp列的值实际上反映了系统对该记录修改的相对顺序。一个表只能有一个timestamp列。实际上是二进制格式数据,其长度为8字节。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 js 小数计算 失精度 的文章

 

随机推荐