ArcGIS 支持的 SQL Server 数据类型

创建表或向数据库中的表添加新列时,列将创建为特定的数据类型。数据类型是用于确定数据值自身以及可对数据执行哪些操作的分类,也表示列中数据在数据库中的存储方式。

从 ArcGIS 访问数据库表时,可以使用特定数据类型。在目录树中通过“数据库连接”节点或在 ArcMap 中通过查询图层访问数据库表时,ArcGIS 会过滤掉任何不支持的数据类型。如果直接访问数据库表,则不支持的数据类型不会显示在 ArcGIS 界面,您也无法通过 ArcGIS 编辑这些数据。同样,复制包含不受 ArcGIS 支持的数据类型的表时,将只复制支持的数据类型;将表粘贴到另一个数据库或地理数据库时,不会存在不支持的数据类型列。

在 ArcGIS 中创建要素类或表时,或者使用 ArcGIS 向现有表或要素类添加列时,可向字段分配 11 种可能的数据类型。未与这些类型对应的数据库数据类型不能直接在 ArcGIS 客户端应用程序中使用。

第一列列出了 ArcGIS 中可用的数据类型。第二列列出了将在数据库中创建的 SQL Server 数据类型。第三列显示了在 ArcGIS 中查看时哪些其他 SQL Server 数据类型(如果有)会映射到 ArcGIS 数据类型。

ArcGIS 数据类型

创建的 SQL Server 数据类型

可以查看的其他 SQL Server 数据类型

备注

TEXT

VARCHAR

NVARCHAR

VARCHAR(MAX)

NVARCHAR(MAX)

CHAR

NCHAR

NTEXT

如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 7,999 个字符或更少,则使用 VARCHAR。

如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 3,999 个字符,则使用 NVARCHAR。

如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 8,000 个字符或更多,则使用 VARCHAR(MAX)。

如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 4,000 个字符或更多,则使用 NVARCHAR(MAX)。

SHORT INTEGER

SMALLINT

BIT

TINYINT

LONG INTEGER

INT

DATE

DATETIME2(7)

DATETIME2(n)

DATETIME

SMALLDATETIME

GUID

UNIQUEIDENTIFIER

BLOB

VARBINARY(MAX)

BINARY

IMAGE

TIMESTAMP

VARBINARY(n)

GEOMETRY

INT

GEOMETRY

GEOGRAPHY

SQL Server 数据类型,取决于创建字段时使用的 DBTUNE GEOMETRY_STORAGE 参数。SDEBINARY = INT;GEOMETRY = GEOMETRY 列;GEOGRAPHY = GEOGRAPHY 列。

RASTER

INT

ST_RASTER

SQL Server 数据类型,取决于创建栅格列时设置的 DBTUNE RASTER_STORAGE 参数。BINARY = INT 列;ST_RASTER = ST_Raster 列。

OBJECTID

INT(4)

ArcGIS 类型对象 ID 是表(或要素类)的注册行 ID 列。每个表只能存在一个。对于在 ArcGIS 外部创建的表,只有在注册到地理数据库之后才会将列转换为对象 ID。

FLOAT

NUMERIC(p,s)

REAL

DOUBLE

NUMERIC(p,s)

DECIMAL

FLOAT

MONEY

SMALLMONEY

ArcGIS 支持的 SQL Server 数据类型
9/15/2013