表格 88。 数据类型的差异
SQL Server的数据类型
|
Sybase的数据类型
|
描述
|
转换
|
char(n) 1<=n<=8000
|
char(n) 1<=n<=255
|
固定长度的字符数据
|
如果 n>255, SQL Server nchar(n) 应转换为 Sybase 文体
|
nchar(n) 1<=n<=4000
|
nchar(n) 1<=n<=255
|
固定长度的字符数据(Unicode,多字节集)
|
如果 n>255, SQL Server nchar(n)应转换为Sybase 文体
|
varchar(n) 1<=n<=8000
|
varchar(n)
1<=n<=255
|
可变长度的字符数据
|
如果 n>255, SQL Server varchar(n) 应转换为Sybase 文体
|
nvarchar(n) 1<=n<=4000
|
nvarchar(n)
1<=n<=255
|
可变长度的字符数据(Unicode,多字节集)
|
如果 n>255, SQL Server nvarchar(n) 应转换为Sybase 文体
|
bigint
|
-
|
整数,64-位
|
SQL Server bigint应转换到Sybase decimal(19,0)
|
int
|
int
|
整数,32-位
|
不需要
|
smallint
|
smallint
|
整数,16-位
|
不需要
|
tinyint
|
tinyint
|
Integer, 8-bit
|
不需要
|
datetime
|
datetime
|
日期和时间
|
不需要
|
smalldatetime
|
smalldatetime
|
日期和时间
|
不需要
|
money
|
money
|
货币数据
|
不需要
|
smallmoney
|
smallmoney
|
货币数据
|
不需要
|
decimal(p,s) 1<=p<=38; 0<=s<=p;
|
decimal(p,s) 1<=p<= 38; 0<=s<=p;
|
固定点的数字数据
|
不需要
|
numeric(p,s)
1<=p<=38; 0<=s<=p;
|
numeric(p,s)
1<=p<=38; 0<=s<=p;
|
固定点的数字数据
|
不需要
|
float(n)
1<=n<=53
|
float(n)
1<=n<=machine dependent
|
浮点数值数据
|
不需要
|
-
|
double precision
|
浮点数值数据,64-位
|
Sybase 双精度应该转换到 SQL server float(53)
|
real
|
real
|
浮点数值数据,32-位
|
不需要
|
text
|
text
|
可变长度的字符数据,超过2 Gb
|
不需要
|
ntext
|
-
|
可变长度Unicode的字符数据,超过1 Gb
|
SQL Server ntext 应该转换到Sybase text
|
二进制(n) 1<=n<=8000
|
二进制(n)
1<=n<=255
|
固定长度的二进制数据
|
如果 n>255, SQL Server 二进制(n) 应该转换到 Sybase 图形
|
varbinary(n) 1<=n<=8000
|
varbinary(n) 1<=n<=255
|
可变长度的二进制数据
|
if n>255, SQL Server varbinary(n) should be converted to Sybase image
|
image
|
image
|
可变长度的二进制数据,超过2 Gb
|
不需要
|
bit
|
bit
|
整数值0 或 1
|
SQL Server bit 可以是NULL,但是Sybase bit 不可以是NULL Nullable SQL Server bit 应该转换到Sybase tinyint 或 char(1)
|
uniqueidentifier
|
-
|
全局唯一标识符 (GUID)
|
SQL Server uniqueidentifier应该转换到Sybase char(36)
|
timestamp
|
timestamp
|
独特的数目,得到每一次更新一行被更新
|
不需要
|