简介
Microsoft JDBC Driver for SQL Server 使用 JDBC 基本数据类型将 SQL Server 数据类型转换为 Java 编程语言能够理解的格式,反之亦然。 JDBC driver 提供对 JDBC 4.0 API,其中包括支持SQLXML数据类型和 National (Unicode) 数据类型,如NCHAR, NVARCHAR, LONGNVARCHAR,并NCLOB。
数据类型映射
下表列出了基本 SQL Server、JDBC 和 Java 编程语言数据类型之间的默认映射:
SQL Server 类型 | JDBC 类型 (java.sql.Types) | Java 语言类型 |
---|---|---|
bigint | BIGINT | long |
binary | BINARY | byte[] |
bit | BIT | boolean |
char | CHAR | String |
date | DATE | java.sql.Date |
datetime | TIMESTAMP | java.sql.Timestamp |
datetime2 | TIMESTAMP | java.sql.Timestamp |
datetimeoffset (2) | microsoft.sql.Types.DATETIMEOFFSET | microsoft.sql.DateTimeOffset |
decimal | DECIMAL | java.math.BigDecimal |
float | DOUBLE | double |
image | LONGVARBINARY | byte[] |
int | INTEGER | int |
money | DECIMAL | java.math.BigDecimal |
nchar | CHAR NCHAR (Java SE 6.0) | String |
ntext | LONGVARCHAR LONGNVARCHAR (Java SE 6.0) | String |
numeric | NUMERIC | java.math.BigDecimal |
nvarchar | VARCHAR NVARCHAR (Java SE 6.0) | String |
nvarchar(max) | VARCHAR NVARCHAR (Java SE 6.0) | String |
real | REAL | float |
smalldatetime | TIMESTAMP | java.sql.Timestamp |
smallint | SMALLINT | short |
smallmoney | DECIMAL | java.math.BigDecimal |
text | LONGVARCHAR | String |
time | TIME (1) | java.sql.Time (1) |
timestamp | BINARY | byte[] |
tinyint | TINYINT | short |
udt | VARBINARY | byte[] |
uniqueidentifier | CHAR | String |
varbinary | VARBINARY | byte[] |
varbinary(max) | VARBINARY | byte[] |
varchar | VARCHAR | String |
varchar(max) | VARCHAR | String |
xml | LONGVARCHAR LONGNVARCHAR (Java SE 6.0) | String SQLXML |
sqlvariant | SQLVARIANT | Object |
geometry | VARBINARY | byte[] |
geography | VARBINARY | byte[] |
引用
https://docs.microsoft.com/zh-cn/sql/connect/jdbc/using-basic-data-types?view=sql-server-2017
https://docs.microsoft.com/zh-cn/sql/connect/jdbc/understanding-data-type-differences?view=sql-server-2017
https://docs.microsoft.com/en-us/sql/connect/jdbc/understanding-data-type-conversions?view=sql-server-2017