表列出了基本 SQL Server、JDBC 和 Java 编程语言数据类型之间的默认映射:
bigint | BIGINT | long |
timestamp binary | BINARY | byte[] |
bit | BIT | boolean |
char | CHAR | String |
decimal money smallmoney | DECIMAL | java.math.BigDecimal |
float | DOUBLE | double |
int | INTEGER | int |
image varbinary(max) | LONGVARBINARY | byte[] |
varchar(max) text | LONGVARCHAR | String |
nchar | CHAR NCHAR (Java SE 6.0) | String |
nvarchar | VARCHAR NVARCHAR (Java SE 6.0) | String |
nvarchar(max) ntext | LONGVARCHAR LONGNVARCHAR (Java SE 6.0) | String |
numeric | NUMERIC | java.math.BigDecimal |
real | REAL | float |
smallint | SMALLINT | short |
datetime smalldatetime | TIMESTAMP | java.sql.Timestamp |
varbinary udt | VARBINARY | byte[] |
varchar | VARCHAR | String |
tinyint | TINYINT | short |
uniqueidentifier | CHAR | String |
xml | LONGVARCHAR SQLXML (Java SE 6.0) | String SQLXML |
JDBC Driver 目前不支持 SQL Server sqlvariant 数据类型。如果使用查询从包含 sqlvariant 数据类型列的表中检索数据,则会发生异常。 |
参见MSDN:http://msdn.microsoft.com/zh-cn/library/ms378878(v=SQL.100).aspx
下表列出了高级 SQL Server、JDBC 和 Java 编程语言数据类型之间的默认映射。
varbinary(max) image | LONGVARBINARY | byte[](默认)、Blob、InputStream、String |
text varchar(max) | LONGVARCHAR | String(默认)、Clob、InputStream |
ntext nvarchar(max) | LONGVARCHAR LONGNVARCHAR (Java SE 6.0) | String(默认)、Clob、NClob (Java SE 6.0) |
xml | LONGVARCHAR SQLXML (Java SE 6.0) | String(默认)、InputStream、Clob、byte[]、Blob、SQLXML (Java SE 6.0) |
udt | VARBINARY | String(默认)、byte[]、InputStream |
varbinary(max)
image
LONGVARBINARY
byte[](默认)、Blob、InputStream、String
text
varchar(max)
LONGVARCHAR
String(默认)、Clob、InputStream
ntext
nvarchar(max)
LONGVARCHAR
LONGNVARCHAR (Java SE 6.0)
String(默认)、Clob、NClob (Java SE 6.0)
xml
LONGVARCHAR
SQLXML (Java SE 6.0)
String(默认)、InputStream、Clob、byte[]、Blob、SQLXML (Java SE 6.0)
udt
VARBINARY
String(默认)、byte[]、InputStream