遵循TDS规范,我无法理解int
类型是否已签名。
例如,tinyint
为十六进制值0xFF
,代表 - 1
或255
?
由于
答案 0 :(得分:1)
T-SQL的MSDN有this table:
Data type Range Storage
bigint -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) 8 Bytes
int -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) 4 Bytes
smallint -2^15 (-32,768) to 2^15-1 (32,767) 2 Bytes
tinyint 0 to 255 1 Byte
这意味着tinyint是无符号的,但所有其他的(smallint,int,bigint)都是有符号的。
至少这是SQL Server如何解释T-SQL中的类型,因此您应该以相同的方式解释TDS中的数据。