ArcGIS 支持的数据库数据类型
创建表或向数据库中的表添加新列时,将为列定义特定数据类型。 数据类型确定以下内容:
可以在该列中存储的值
可以对该列中的数据使用的操作
如何在数据库中存储该列的数据
ArcGIS 使用特定数据类型。 通过数据库连接、查询图层或 web 服务访问数据库表时,ArcGIS 将过滤掉任何不受支持的数据类型。 ArcGIS 不会显示不受支持的数据类型并且您无法通过 ArcGIS 编辑不受支持的数据类型。 同样,使用 ArcGIS 将包含不受支持的数据类型的表从一个数据库复制和粘贴到另一个数据库时,ArcGIS 只粘贴使用受支持的数据类型的列。
下表第一列列出了 ArcGIS 的各个数据类型。 第二列列出了 ArcGIS 创建的数据库数据类型(如果适用)。 第三列显示了在使用 ArcGIS 客户端查看 ArcGIS 外部创建的表时哪些其他数据库数据类型(如果有)会映射到 ArcGIS 数据类型。 最后一列用于提供所需其他信息。
|
ArcGIS 数据类型 |
创建的 Dameng 数据类型 |
可以查看的其他 Dameng 数据类型 |
备注 |
|---|---|---|---|
|
大整型 |
bigint |
||
|
Blob |
BLOB |
||
|
日期 |
datetime6 |
||
|
仅日期 |
date |
||
|
双精度 |
dec(p,s) |
默认情况下,p(精度)= 38 且 s(比例)= 8。 |
|
|
浮点型 |
dec(p,s) |
默认情况下,p(精度)= 38 且 s(比例)= 8。 |
|
|
几何 |
st_geometry |
||
|
GUID |
char(38) |
||
|
长整型 |
integer |
||
|
对象 ID |
integer |
||
|
短整型 |
smallint |
||
|
文本 |
varchar |
文本字段长度的默认值为 50。 |
|
|
仅时间 |
time |
||
|
时间戳偏移 |
带时区偏移的时间戳 |
|
ArcGIS 数据类型 |
创建的 Db2 数据类型 |
可以查看的其他 Db2 数据类型 |
备注 |
|---|---|---|---|
|
大整型 |
bigint |
||
|
Blob |
BLOB |
||
|
日期 |
timestamp |
||
|
仅日期 |
date |
||
|
双精度 |
decimal(p,s) |
ArcGIS 中指定的精度和小数位数可以影响在数据库中创建的结果数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
|
浮点型 |
decimal(p,s) |
ArcGIS 中指定的精度和小数位数可以影响在数据库中创建的结果数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
|
几何 |
ST_Geometry |
||
|
全局 ID |
char(38) |
仅地理数据库支持全局 ID。 |
|
|
GUID |
char (UUID len) |
||
|
长整型 |
integer |
||
|
对象 ID |
integer(32 位对象 ID)、big int(64 位对象 ID) |
ArcGIS 对象 ID 数据类型是表(或要素类)的注册行 ID 列。 每个表只能存在一个 ObjectID。 此字段包含在数据库中创建时的标识属性。 |
|
|
栅格 |
BLOB |
ArcGIS 栅格数据类型仅适用于地理数据库。 |
|
|
短整型 |
smallint |
||
|
文本 |
varchar |
char |
|
|
仅时间 |
time |
||
|
时间戳偏移 |
不适用 |
不支持 |
此时,无法通过 ArcGIS 在 Elasticsearch 索引中创建字段。
|
ArcGIS 数据类型 |
可以查看的 Elasticsearch 数据类型 |
备注 |
|---|---|---|
|
大整型 |
long、unsigned long |
|
|
Blob |
binary |
|
|
日期 |
date |
要在 ArcGIS 中识别为日期,则值必须采用以下格式之一:
后两种格式中的 T 是文本值。 将所有其他字母替换为适当的日期或时间值。 |
|
仅日期 |
不适用 |
|
|
双精度 |
double |
|
|
浮点型 |
float、scaled_float、half_float |
|
|
几何 |
geo_point、geo_shape |
ArcGIS 不支持使用带有 如果 shape 字段是包含多个 shape 子字段的对象,则将使用最后一个 shape 子字段。 |
|
GUID |
不适用 |
|
|
长整型 |
integer |
|
|
对象 ID |
_id |
|
|
短整型 |
short |
|
|
文本 |
keyword、string、text、alias、long_range、integer_range、date_range、double_range、object |
|
|
仅时间 |
不适用 |
|
|
时间戳偏移 |
不适用 |
此时,无法通过 ArcGIS 在 OpenSearch 索引中创建字段。
|
ArcGIS 数据类型 |
可以查看的 OpenSearch 数据类型 |
备注 |
|---|---|---|
|
大整型 |
long、unsigned_long |
|
|
Blob |
binary |
|
|
日期 |
date |
要在 ArcGIS 中识别为日期,则值必须采用以下格式之一:
后两种格式中的 T 是文本值。 将所有其他字母替换为适当的日期或时间值。 |
|
仅日期 |
不适用 |
|
|
双精度 |
double |
|
|
浮点型 |
float、scaled_float、half_float |
|
|
几何 |
geo_point、geo_shape |
ArcGIS 不支持使用带有纬度和经度的对象的地理点格式。 如果 shape 字段是包含多个 shape 子字段的对象,则将使用最后一个 shape 子字段。 |
|
GUID |
不适用 |
|
|
长整型 |
integer |
|
|
对象 ID |
_id |
|
|
短整型 |
不适用 |
|
|
文本 |
keyword、string、text、alias、long_range、integer_range、double_range、date_range、object |
|
|
仅时间 |
不适用 |
|
|
时间戳偏移 |
不适用 |
|
ArcGIS 数据类型 |
创建的 Oracle 数据类型 |
可以查看的其他 Oracle 数据类型 |
备注 |
|---|---|---|---|
|
大整型 |
number(p) |
number(p) |
精度 (p) 值范围为 11 到 18。 如果在 ArcGIS 软件或 ArcObjects SDK 中创建大整型字段时未指定精度,则将创建 Oracle number(38) 字段。 |
|
Blob |
BLOB |
||
|
日期 |
timestamp |
||
|
仅日期 |
不适用 |
不支持 |
|
|
双精度 |
number(38,8) |
number(p,s) |
ArcGIS 中指定的精度 (p) 和小数位数 (s) 可以影响结果数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
浮点型 |
number(38,8) |
number(p,s) |
ArcGIS 中指定的精度 (p) 和小数位数 (s) 可以影响结果数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
几何 |
ST_Geometry、SDO_Geometry |
创建的 Oracle 数据类型取决于创建要素类时指定的几何存储。 Oracle Spatial = SDO_Geometry 或 spatial type = ST_Geometry。 要在数据库(非地理数据库)中使用 ST_Geometry,必须先进行安装。 注:以下几何存储类型已在 ArcGIS Pro 中弃用:
如果存在于地理数据库中,则其将在数据库中显示为数值数据类型。 无法创建使用这些存储类型的要素类。 目前,您可以查看使用这些几何存储类型的要素类,但将在未来版本中移除此功能。 请使用迁移存储地理处理工具将要素类迁移到受支持的数据类型,以确保您能够继续访问数据。 |
|
|
全局 ID |
char、nchar (UUID len) |
仅适用于地理数据库。 如果将用于指定表创建的配置关键字的参数 |
|
|
GUID |
char、nchar (UUID len) |
如果将用于指定表创建的配置关键字的参数 |
|
|
长整型 |
number(10) |
number(p) |
精度 (p) 值范围为 6 到 10。 如果使用 ArcGIS 软件或 ArcObjects SDK 创建并且未设置精度,则会在数据库中创建 number(38);否则,将使用指定的精度。 精度可以影响结果 ArcGIS 数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
对象 ID |
在企业级地理数据库中创建时为 number(38) 将现有数据库表注册到地理数据库时,number(38) 将具有序列。 如果在 Oracle 数据库中使用 ArcGIS 创建要素类或表,或使用添加增量 ID 字段地理处理工具将 ID 字段添加到 Oracle 数据库的表格内,则始终会生成 number(38) 作为标识。 |
ArcGIS 对象 ID 数据类型是表(或要素类)的注册行 ID 列。 每个表只能存在一个 ObjectID。 |
|
|
栅格 |
BLOB、number(38) |
ArcGIS 栅格数据类型仅适用于地理数据库。 栅格字段所使用的数据类型取决于创建镶嵌数据集或栅格数据集时指定的配置关键字。 |
|
|
短整型 |
number(5) |
number(p) |
精度 (p) 值范围为 1 到 5。 但是,短整型列只可存储介于 -32,768 和 32,767 之间的值。 即使数字的精度为 5,也无法在短整型列中存储大于 32,767 或小于 -32,768 的数字。 如果使用 ArcGIS 软件或 ArcObjects SDK 创建并且未设置精度,则会在数据库中创建 number(5);否则,将使用指定的精度。 精度可以影响结果 ArcGIS 数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
文本 |
varchar2、CLOB、nvarchar2 或 NCLOB |
||
|
仅时间 |
不适用 |
不支持 |
|
|
时间戳偏移 |
带时区偏移的时间戳 |
|
ArcGIS 数据类型 |
创建的 PostgreSQL 数据类型 |
可以查看的其他 PostgreSQL 数据类型 |
备注 |
|---|---|---|---|
|
大整型 |
bigint |
||
|
Blob |
bytea |
||
|
日期 |
不含时区的时间戳 |
带时区的时间戳 |
|
|
仅日期 |
date |
||
|
双精度 |
numeric(p,s) |
双精度型 |
ArcGIS 中指定的精度 (p) 和小数位数 (s) 可以影响在数据库中创建的结果数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
浮点型 |
numeric(p,s) |
decimal、double precision、numeric、real |
ArcGIS 中指定的精度 (p) 和小数位数 (s) 可以影响在数据库中创建的结果数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
几何 |
ST_Geometry、Geometry (PostGIS)、Geography (PostGIS) |
在地理数据库中,创建要素类时使用的配置关键字的 要在数据库(非地理数据库)中使用 ST_Geometry,必须先进行安装。 有关详细信息,请参阅向 PostgreSQL 数据库添加 ST_Geometry 类型。 要使用 PostGIS 几何或地理类型,您必须在 PostgreSQL 数据库集群中安装 PostGIS,且数据库本身必须允许使用 PostGIS。 有关详细信息,请参阅 PostgreSQL 文档。 |
|
|
全局 ID |
varchar(38) |
仅地理数据库支持全局 ID。 |
|
|
GUID |
varchar(38) |
UUID |
|
|
长整型 |
integer |
serial |
|
|
对象 ID |
地理数据库中的 integer(32 位)、bigint(64 位) 数据库中的 Serial |
ArcGIS 对象 ID 数据类型是表(或要素类)的注册行 ID 列。 每个表只能存在一个 ObjectID。 |
|
|
栅格 |
bytea |
ArcGIS 栅格数据类型仅适用于地理数据库。 |
|
|
短整型 |
smallint |
||
|
文本 |
character varying |
character、text |
如果使用 SQL 客户端或第三方应用程序创建文本字段,但未定义长度(换言之,长度为 0),则 ArcGIS 会将此字段读取为 CLOB。 |
|
仅时间 |
time |
不含时区的时间、带时区的时间 |
|
|
时间戳偏移 |
不适用 |
不支持 |
|
ArcGIS 数据类型 |
创建的 SAP HANA 数据类型 |
可以查看的其他 SAP HANA 数据类型 |
备注 |
|---|---|---|---|
|
大整型 |
bigint |
||
|
Blob |
BLOB |
||
|
日期 |
timestamp |
date、seconddate、time |
|
|
仅日期 |
date |
||
|
双精度 |
decimal(38.8) |
decimal(p,s)、number(p,s)、numeric(p,s)、bigint |
p > 0 ArcGIS 中指定的精度 (p) 和小数位数 (s) 可影响在数据库中创建的生成数据类型。 |
|
浮点型 |
decimal(38.8) |
decimal(p,s) |
p <= 9 并且 s > 0 ArcGIS 中指定的精度 (p) 和小数位数 (s) 可影响在数据库中创建的生成数据类型。 |
|
几何 |
ST_Geometry |
||
|
全局 ID |
character(38) |
仅适用于地理数据库。 |
|
|
GUID |
character(38) |
拉丁语字符集 |
|
|
长整型 |
integer |
decimal(p,0) |
p <= 9 |
|
对象 ID |
bigint |
此时仅存储 32 位数字。 |
|
|
栅格 |
不适用 |
ArcGIS 栅格数据类型仅适用于地理数据库。 在 SAP HANA 中的地理数据库中创建的栅格使用 Esri 专有数据类型。 |
|
|
短整型 |
smallint |
tinyint |
|
|
文本 |
varchar(50) |
alphanum(n)、nvarchar(n)、CLOB、NCLOB |
|
|
仅时间 |
time |
||
|
时间戳偏移 |
不适用 |
不支持 |
|
ArcGIS 数据类型 |
创建的 SQL Server 数据类型 |
可以查看的其他 SQL Server 数据类型 |
备注 |
|---|---|---|---|
|
大整型 |
bigint |
||
|
Blob |
varbinary(max) |
binary、image、timestamp、varbinary(n) |
|
|
日期 |
datetime2(7) |
datetime2(n)、datetime、smalldatetime |
|
|
仅日期 |
date |
||
|
双精度 |
numeric(p,s) |
decimal、float、money、smallmoney |
ArcGIS 中指定的精度 (p) 和小数位数 (s) 可以影响在数据库中创建的结果数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
浮点型 |
numeric(p,s) |
real |
ArcGIS 中指定的精度 (p) 和小数位数 (s) 可以影响在数据库中创建的结果数据类型。 有关详细信息,请参阅 ArcGIS 字段数据类型。 |
|
几何 |
geometry、geography |
指定在创建要素类时是使用几何还是地理空间数据类型。 ArcGIS 不支持以下 Geometry 子类型:
注:以下几何存储类型已在 ArcGIS Pro 中弃用:
无法创建使用这些存储类型的要素类。 目前,您可以查看使用这些几何存储类型的要素类,但将在未来版本中移除此功能。 请使用迁移存储地理处理工具将要素类迁移到受支持的数据类型,以确保您能够继续访问数据。 如果存在压缩的二进制数据,则其将作为 INT 数据类型存储在数据库中。 |
|
|
全局 ID |
uniqueidentifier |
仅适用于地理数据库。 |
|
|
GUID |
uniqueidentifier |
||
|
长整型 |
int |
||
|
对象 ID |
在企业级地理数据库中创建时为 int(4);在数据库中创建时为带有标识属性的整型。 |
ArcGIS 对象 ID 数据类型是表(或要素类)的注册行 ID 列。 每个表只能存在一个 ObjectID。 |
|
|
栅格 |
int |
ArcGIS 栅格数据类型仅适用于地理数据库。 在 SQL Server 的企业级地理数据库中,将在基表中创建整型字段,关联栅格表中的 BLOB 字段用于存储影像数据。 |
|
|
短整型 |
smallint |
bit、tinyint |
|
|
文本 |
varchar、nvarchar、varchar(max)、nvarchar(max) |
char、nchar |
|
|
仅时间 |
time |
||
|
时间戳偏移 |
带时区偏移的时间戳 |
SQLite 数据库(包括 Open Geospatial Consortium (OGC) GeoPackage 文件)实施数据类型的方式与大多数其他数据库管理系统不同。 SQLite 具有数个可存储数据类型的存储类。 SQLite 允许您命名数据类型,例如在 ArcGIS 中创建日期、仅日期、几何或 GUID 字段时,可在 SQLite 中创建 realdate、realdateonly、geometryblob 和 uuidtext 类型。 还可通过搜索数据类型的文字文本以获得列存储数据类型相关的线索。 例如,查找 int 并将其解释为整型字段。 因此,如果指定 point 数据类型,SQLite 会将其视为整型字段,因为 point 中包含字符串 int。
ArcGIS 假设为表定义中的字段指定的数据类型是要应用于字段中所有值的数据类型。 如果 ArcGIS 无法识别数据类型,您将无法从 ArcGIS 访问表。
|
ArcGIS 数据类型 |
创建的 SQLite 数据类型 |
可以查看的其他 SQLite 数据类型 |
备注 |
|---|---|---|---|
|
大整型 |
int64 |
在 OGC GeoPackage 中会创建一个整型字段。 如果安装了 SpatiaLite,则在 SQLite 数据库中不支持。 |
|
|
Blob |
blob(n) |
||
|
日期 |
realdate |
||
|
仅日期 |
realdateonly |
在 OGC GeoPackage 中会创建一个日期字段。 如果安装了 SpatiaLite,则在 SQLite 数据库中不支持。 |
|
|
双精度 |
float64 |
numeric、double、float、boolean、real integer、int、int64、int32(在没有安装 SpatiaLite 的数据库中) |
|
|
浮点型 |
float64 |
||
|
几何 |
geometryblob |
||
|
全局 ID |
uuidtext |
仅适用于移动地理数据库。 |
|
|
GUID |
SQLite 数据库中为 uuidtext 类型、GeoPackage 文件中为 text 类型 |
||
|
长整型 |
int32(n) |
integer、int、int32(在带有 SpatiaLite 的数据库中) 整型主键 |
n >= -2147483648 和 n <= 2147483648 |
|
对象 ID |
int32 |
||
|
短整型 |
int16(n) |
n >= -32768 和 n<= 32768 |
|
|
文本 |
text(n) |
char、varchar、blob |
|
|
仅时间 |
texttimeonly |
在 GeoPackage 文件中不支持,如果安装了 SpatiaLite,在 SQLite 数据库中也不支持。 |
|
|
时间戳偏移 |
texttimestamptz collate tsorder |
在 GeoPackage 文件中不支持,如果安装了 SpatiaLite,在 SQLite 数据库中也不支持。 |
|
ArcGIS 数据类型 |
创建的 Teradata 数据类型 |
可以查看的其他 Teradata 数据类型 |
备注 |
|---|---|---|---|
|
大整型 |
bigint |
||
|
Blob |
BLOB |
BLOB 大小为 Teradata 默认大小。 |
|
|
日期 |
timestamp |
||
|
仅日期 |
date |
||
|
双精度 |
decimal(38.8) |
decimal(n,m)、number(n,m)、numeric(n,m) m > 0 |
ArcGIS 中指定的精度和小数位数可以影响在数据库中创建的结果数据类型。 |
|
浮点型 |
decimal(38.8) |
decimal(n,m)、number(n,m)、numeric(n,m) m > 0 |
ArcGIS 中指定的精度和小数位数可以影响在数据库中创建的结果数据类型。 |
|
几何 |
CLOB (ST_Geometry) |
该字段必须命名为 shape,ArcGIS 才能将其识别为空间列。 |
|
|
GUID |
character(38) 字符集拉丁语 |
||
|
长整型 |
integer |
decimal(p,s)、number(p,s)、numeric(p,s) |
精度 (p) = 5、6、7、8 或 9 比例 (s) = 0 |
|
对象 ID |
integer |
||
|
短整型 |
smallint |
decimal(p,s)、number(p,s)、numeric(p,s) |
精度 (p) <= 4 比例 (s) = 0 |
|
文本 |
varchar(50) 字符集 unicode |
varchar(n) 字符集 unicode、varchar(n) 字符集拉丁语、char(n) 字符集 unicode、char(n) 字符集拉丁语、JSON |
|
|
仅时间 |
time |
||
|
时间戳偏移 |
带时区偏移的时间戳 |