数据类型

Microsoft SQL Server Compact 4.0 数据库的表中的每个列都支持一组指定该列可以包含的数据类型的数据类型。

备注

MicrosoftSQL Server 和 SQL Server Compact 4.0 两者之间在函数执行过程中导致溢出或下溢时提升数据类型的方式可能稍有不同。

SQL Server Compact 4.0 支持下列数据类型:

数据类型

说明

bigint

整数数据,从 –2^63 (–9,223,372,036,854,775,808) 到 2^63–1 (9,223,372,036,854,775,807)。存储大小为 8 字节。

integer

整数数据,从 –2^31 (-2,147,483,648) 到 2^31–1 (2,147,483,647)。

存储大小为 4 字节。

smallint

整数数据,从 –32,768 到 32,767。存储大小为 2 字节。

tinyint

整数数据,从 0 到 255。存储大小为 1 字节。

bit

整数数据,值为 1 或 0。

存储大小为 1 位。

numeric (p, s)

Synonyms:

decimal(p,s) and dec (p,s)

精度和小数位数固定的数值数据,取值范围从 –10^38+1 到 10^38–1。p 变量指定精度,取值范围从 1 到 38。s 变量指定小数位数,取值范围从 0 到 p。

存储大小为 19 字节。

money

货币数据值,从 (–2^63/10000) (–922,337,203,685,477.5808) 到 2^63–1 (922,337,203,685,477.5807),准确度为货币单位的万分之一。存储大小为 8 字节。

float

浮点数数据,从 –1.79E +308 到 1.79E+308

存储大小为 8 字节。

real

浮点精度数字数据,从 –3.40E+38 到 3.40E+38。

存储大小为 4 字节。

datetime

日期和时间数据,从 1753 年 1 月 1 日到 9999 年 12 月 31 日,准确度为三百分之一秒或 3.33 毫秒。值被圆整到 .000、.003 或 .007 毫秒增量。

存储为两个 4 字节整数。前 4 个字节存储早于或晚于 base date 1900 年 1 月 1 日的天数。基准日期是系统的参照日期。不允许 datetime 的值早于 1753 年 1 月 1 日。后 4 个字节存储一天之中的具体时间,被表示为从午夜算起的毫秒数。秒数的有效范围是 0–59。

格式示例
yyyy/mm/ddhh:mm:ss1947/08/15 03:33:20
mm/dd/yyyyhh:mm:ss04/15/1947 03:33:20
dd mmm yyyy hh:mm:ss15 Jan 1947 03:33:20
dd mmmm yyyy h:mm:ss15 January 1947 03:33:20

national character(n)

Synonym:nchar(n)

固定长度的 Unicode 数据,最大长度为 4000 个字符。默认长度 = 1。存储大小(以字节计)是输入的字符数的两倍。

national character varying(n)

Synonym:nvarchar(n)

可变长度的 Unicode 数据,长度值范围为从 1 到 4000 个字符。默认长度 = 1。存储大小(以字节计)是输入的字符数的两倍。

ntext¹

可变长度的 Unicode 数据,最大长度为 (2^30–2)/2 (536,870,911) 个字符。存储大小(以字节计)是输入的字符数的两倍。

注意注意
字符串函数中不再支持 ntext。

nchar

n 个字符组成的固定长度的 Unicode 字符数据。n 必须是从 1 到 4,000 的值。存储大小是 n 字节的两倍。

binary(n)

固定长度的二进制数据,最大长度为 8000 字节。默认长度 = 1。

存储大小是固定的,是在类型中声明的以字节为单位的长度。

varbinary(n)

可变长度的二进制数据,最大长度为 8000 字节。默认长度 = 1。

存储大小可变。它表示值的长度(以字节为单位)。

image¹

可变长度的二进制数据,最大长度为 2^30–1 (1,073,741,823) 字节。

存储大小是值的以字节为单位的长度。

uniqueidentifier

全局唯一标识符 (GUID)。存储大小为 16 字节。

IDENTITY [(s, i)]

这是数据列的一个属性,而不是一个独特的数据类型。

只有整数数据类型的数据列可用于标识列。一个表只能有一个标识列。可以指定种子和增量,但不能更新列。

s (seed) = 起始值

i(increment) = 增量值

ROWGUIDCOL

这是数据列的一个属性,而不是一个独特的数据类型。它是一个表中使用 uniqueidentifier 数据类型定义的列。一个表只能有一个 ROWGUIDCOL 列。

Timestamp/rowversion

这是一个自动生成的唯一的二进制数字。

存储大小为 8 字节。

在 SQL Server Compact 4.0 中,当字节数超过 256 时,Ntext 和 image 数据将存储在新的数据页中。由于 SQL Server Compact 4.0 数据库是按页而不是按字节压缩,因此这会影响数据库的压缩程度。

有关 SQL Server Compact 4.0 中需要转换的 SQL Server 数据类型的详细信息,请参阅 SQL Server Compact 与 SQL Server 之间的差异