When you create a table or add a column to a table in a database, you define a specific data type for the column. Data types determine the following:
- What values you can store in the column
- What operations you can use on the data in that column
- How the data in that column is stored in the database
ArcGIS works with specific data types. When you access a database table through a Database Connection, query layer, or web service, ArcGIS filters out any unsupported data types. ArcGIS does not display unsupported data types, and you cannot edit unsupported data types through ArcGIS. Similarly, when you use ArcGIS to copy and paste tables containing unsupported data types from one database to another, ArcGIS only pastes columns that use a supported data type.
The first column in the following tables lists the ArcGIS data types. The second column lists the database data type that ArcGIS creates, when applicable. The third column shows what other database data types, if any, map to the ArcGIS data type when you use an ArcGIS client to view a table that you created outside ArcGIS. The last column provides additional information when needed.
Dameng
ArcGIS data types | Dameng data types created | Other Dameng data types that can be viewed | Notes |
---|---|---|---|
Big integer | bigint | ||
Blob | BLOB | ||
Date | datetime6 | ||
Date only | date | ||
Double | dec(p,s) | By default, p (precision) = 38 and s (scale) = 8. | |
Float | dec(p,s) | By default, p (precision) = 38 and s (scale) = 8. | |
Geometry | st_geometry | ||
GUID | char(38) | ||
Long integer | integer | ||
Object ID | integer | ||
Short integer | smallint | ||
Text | varchar | The default value for text field length is 50. | |
Time only | time | ||
Timestamp offset | timestamp with time zone offset |
IBM Db2
ArcGIS data type | Db2 data type created | Other Db2 data types that can be viewed | Notes |
---|---|---|---|
Big integer | bigint | ||
Blob |
BLOB | ||
Date | timestamp | ||
Date only | date | ||
Double | decimal(p,s) | The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information. | |
Float |
decimal(p,s) | The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information. | |
Geometry |
ST_Geometry | ||
Global ID | char(38) | Global IDs supported in geodatabases only. | |
GUID |
char(UUID len) | ||
Long integer |
integer | ||
Object ID |
integer (32-bit object ID), big int (64-bit object ID) | The ArcGIS Object ID data type is the registered row ID column for the table (or feature class). Only one may exist per table. The field includes the identity property when created in a database. | |
Raster | BLOB | The ArcGIS raster data type is supported in geodatabases only. | |
Short integer |
smallint | ||
Text |
varchar | char | |
Time only | time | ||
Timestamp offset | Not applicable | Not supported |
Microsoft SQL Server
ArcGIS data type | SQL Server data types created | Other SQL Server data types that can be viewed | Notes |
---|---|---|---|
Big integer | bigint | ||
Blob |
varbinary(max) | binary, image, timestamp, varbinary(n) | |
Date |
datetime2(7) | datetime2(n), datetime, smalldatetime | |
Date only | date | ||
Double |
numeric(p,s) | decimal, float, money, smallmoney | The precision (p) and scale (s) specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information. |
Float |
numeric(p,s) | real | The precision (p) and scale (s) specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information. |
Geometry |
| Specify whether to use the geometry or geography spatial data type when a feature class is created. ArcGIS does not support the following Geometry subtypes:
Note:The following geometry storage types have been deprecated in ArcGIS Pro:
You cannot create feature classes that use these storage types. Currently, you can view feature classes that use these geometry storage types, but this functionality will be removed in a future release. Use the Migrate Storage geoprocessing tool to migrate feature classes to supported data types to ensure you can continue to access the data. If compressed binary data is present, it is stored as an INT data type in the database. | |
Global ID | uniqueidentifier | Supported in geodatabases only. | |
GUID |
uniqueidentifier | ||
Long integer |
int | ||
Raster |
int | The ArcGIS raster data type is supported in geodatabases only. In enterprise geodatabases in SQL Server, an integer field is created in the base table and BLOB fields in associated raster tables store the imagery data. | |
OBJECT ID |
int(4) when created in an enterprise geodatabase integer with identity property when created in a database | The ArcGIS Object ID data type is the registered row ID column for the table (or feature class.) Only one may exist per table. | |
Short integer |
smallint | bit, tinyint | |
Text |
varchar, nvarchar, varchar(max), nvarchar(max) | char, nchar | |
Time only | time | ||
Timestamp offset | timestamp with time zone offset |
Oracle
ArcGIS data type | Oracle data types created | Other Oracle data type that can be viewed | Notes |
---|---|---|---|
Big integer | number(p) | number(p) | The precision (p) value can be in the range of 11 to 18. If you do not specify a precision when you create a big integer field in ArcGIS software or ArcObjects SDK, an Oracle number(38) field is created. |
Blob | BLOB | ||
Date | timestamp | ||
Date only | Not applicable | Not supported | |
Double |
number(38,8) | number(p,s) |
The precision (p) and scale (s) specified in ArcGIS can affect the resultant data type. See ArcGIS field data types for more information. |
Float | number(38,8) | number(p,s) | The precision (p) and scale (s) specified in ArcGIS can affect the resultant data type. See ArcGIS field data types for more information. |
Geometry |
ST_Geometry or SDO_Geometry | The Oracle data type that gets created depends on the geometry storage specified when the feature class is created. Oracle Spatial = SDO_Geometry or spatial type = ST_Geometry. To use ST_Geometry in a database (not geodatabase), you must install it. Note:The following geometry storage types have been deprecated in ArcGIS Pro:
If present in the geodatabase, these appear as number data types in the database. You cannot create feature classes that use these storage types. Currently, you can view feature classes that use these geometry storage types, but this functionality will be removed in a future release. Use the Migrate Storage geoprocessing tool to migrate feature classes to supported data types to ensure you can continue to access the data. | |
Global ID | char or nchar (UUID len) | Supported in geodatabases only. The unique identifier field will be created as nchar if the configuration keyword with which you specified the table's creation had the parameter UNICODE_STRING set to TRUE. | |
GUID |
char or nchar (UUID len) | The unique identifier field will be created as nchar in a geodatabase if the configuration keyword with which you specified the table's creation had the parameter UNICODE_STRING set to TRUE. | |
Long integer |
number(10) | number(p) | The precision (p) value can be in the range of 6 to 10. If created with ArcGIS software or ArcObjects SDK and precision is not set, a number(38) is created in the database; otherwise, the precision specified is used. The precision can affect the resultant ArcGIS data type. See ArcGIS field data types for more information. |
Object ID |
number(38) when created in an enterprise geodatabase number(38) with sequence when you register an existing database table with the geodatabase. number(38) generated always as identity when you use ArcGIS to create a feature class or table in an Oracle database or use the Add Incrementing ID Field geoprocessing tool to add an ID field to a table in an Oracle database. | The ArcGIS Object ID data type is the registered row ID column for the table (or feature class). Only one can exist per table. | |
Raster | BLOB or number(38) | The ArcGIS raster data type is supported in geodatabases only. The data type used for the raster field depends on the configuration keyword you specify when you create a mosaic dataset or raster dataset. | |
Short integer |
number(5) | number(p) | The precision (p) value can be in the range of 1 to 5. However, short integer columns can only store values that fall in the range of -32,768 to 32,767. Even if the precision on the number is 5, you cannot store a number greater than 32,767 or less than -32,768 in a short integer column. If created with ArcGIS software or ArcObjects SDK and precision is not set, a number(5) is created in the database; otherwise, the precision specified is used. The precision can affect the resultant ArcGIS data type. See ArcGIS field data types for more information. |
Text |
varchar2, CLOB, nvarchar2, or NCLOB | ||
Time only | Not applicable | Not supported | |
Timestamp offset | timestamp with time zone offset |
PostgreSQL
ArcGIS data type | PostgreSQL data types created | Other PostgreSQL data types that can be viewed | Notes |
---|---|---|---|
Big integer | bigint | ||
Blob | bytea | ||
Date | timestamp without time zone | timestamp with time zone | |
Date only | date | ||
Double | numeric(p,s) | double precision | The precision (p) and scale (s) specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information. |
Float | numeric(p,s) | decimal, double precision, numeric, real | The precision (p) and scale (s) specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information. |
Geometry | ST_Geometry, Geometry (PostGIS), Geography (PostGIS) | In a geodatabase, the GEOMETRY_STORAGE setting of the configuration keyword used when creating the feature class determines which data type is created in the database. To use ST_Geometry in a database (not a geodatabase), you must install it. See Add the ST_Geometry type to a PostgreSQL database for information. To use the PostGIS geometry or geography type, you must install PostGIS in your PostgreSQL database cluster, and the database itself must be enabled to use PostGIS. See your PostgreSQL documentation for more information. | |
Global ID | varchar(38) | Global IDs are supported in geodatabases only. | |
GUID | varchar(38) | UUID | |
Long integer | integer | serial | |
Object ID | integer (32-bit) or bigint (64-bit) in a geodatabase Serial in a database | The ArcGIS Object ID data type is the registered row ID column for the table (or feature class). Only one can exist per table. | |
Raster | bytea | The ArcGIS raster data type is supported in geodatabases only. | |
Short integer | smallint | ||
Text | character varying | character, text | If you create a text field using an SQL client or a third-party application and do not define a length (in other words, the length is 0), ArcGIS reads this field as a CLOB. |
Time only | time | time without time zone, time with time zone | |
Timestamp offset | Not applicable | Not supported |
SAP HANA
ArcGIS data type | SAP HANA data type created | Other SAP HANA data types that can be viewed | Notes |
---|---|---|---|
Big integer | bigint | ||
Blob | BLOB | ||
Date | timestamp | date, seconddate, time | |
Date only | date | ||
Double | decimal(38,8) | decimal(p,s), number(p,s), numeric(p,s), bigint | p > 0 The precision (p) and scale (s) specified in ArcGIS affects the resultant data type created in the database. |
Float | decimal(38,8) | decimal(p,s) | p <= 9 and s > 0 The precision (p) and scale (s) specified in ArcGIS affects the resultant data type created in the database. |
Geometry | ST_Geometry | ||
Global ID | character(38) | Supported in geodatabases only. | |
GUID | character(38) | Latin character set | |
Long integer | integer | decimal(p,0) | p <= 9 |
Object ID | bigint | Only 32-bit numbers are stored at this time. | |
Raster | Not applicable | The ArcGIS raster data type is supported in geodatabases only. Rasters created in geodatabases in SAP HANA use an Esri proprietary data type. | |
Short integer | smallint | tinyint | |
Text | varchar(50) | alphanum(n), nvarchar(n), CLOB, NCLOB | |
Time only | time | ||
Timestamp offset | Not applicable | Not supported. |
SQLite
SQLite databases (including Open Geospatial Consortium (OGC) GeoPackage files) do not implement data types in the same way that most other database management systems do. SQLite has a few storage classes in which you can store data types. SQLite allows you to name data types, as in the case of the realdate, realdateonly, geometryblob, and uuidtext types that get created in SQLite when you create a date, dateonly, geometry, or guid field in ArcGIS. It also searches the literal text of the data type for clues as to what data type the column stores. For example, it looks for int and interprets that as an integer field. Therefore, if you specify a data type of point, SQLite sees it is an integer field because point contains the string int.
ArcGIS assumes that the data type specified for the field in the table definition is the data type to be applied to all values in the field. If the data type cannot be recognized by ArcGIS, you will not be able to access the table from ArcGIS.
ArcGIS data types | SQLite data types created | Other SQLite data types that can be viewed | Notes |
---|---|---|---|
Big integer | int64 | An integer is created in OGC GeoPackage. Not supported in SQLite databases if SpatiaLite is installed. | |
Blob | blob(n) | ||
Date | realdate | ||
Date only | realdateonly | A date is created in OGC GeoPackage. Not supported in SQLite databases if SpatiaLite is installed. | |
Double | float64 | numeric, double, float, boolean, real integer, int, int64, int32 (in databases that do not have SpatiaLite installed) | |
Float | float64 | ||
Geometry | geometryblob | ||
Global ID | uuidtext | Supported in mobile geodatabases only. | |
GUID | uuidtext in SQLite databases, text in GeoPackage files | ||
Long Integer | int32(n) | integer, int, int32 (in databases with SpatiaLite) integer primary key | n >= -2147483648 and n <= 2147483648 |
Object ID | int32 | ||
Short Integer | int16(n) | n >= -32768 and n<= 32768 | |
Text | text(n) | char, varchar, blob | |
Time only | texttimeonly | Not supported in GeoPackage files and not supported in SQLite databases if SpatiaLite is installed. | |
Timestamp offset | texttimestamptz collate tsorder | Not supported in GeoPackage files and not supported in SQLite databases if SpatiaLite is installed. |
Teradata Data Warehouse Appliance
ArcGIS data types | Teradata data types created | Other Teradata data types that can be viewed | Notes |
---|---|---|---|
Big integer | bigint | ||
Blob | BLOB | The BLOB size is the Teradata default size. | |
Date | timestamp | ||
Date only | date | ||
Double | decimal(38,8) | decimal(n,m), number(n,m), numeric(n,m) m > 0 | The precision and scale specified in ArcGIS can affect the resultant data type created in the database. |
Float | decimal(38,8) | decimal(n,m), number(n,m), numeric(n,m) m > 0 | The precision and scale specified in ArcGIS can affect the resultant data type created in the database. |
Geometry | CLOB (ST_Geometry) | This field must be named shape for ArcGIS to recognize it as a spatial column. | |
GUID | character(38) character set latin | ||
Long integer | integer | decimal(p,s), number(p,s), numeric(p,s) | precision (p) = 5, 6, 7, 8, or 9 scale (s) = 0 |
Object ID | integer | ||
Short integer | smallint | decimal(p,s), number(p,s), numeric(p,s) | precision (p) <= 4 scale (s) = 0 |
Text | varchar(50) character set unicode | varchar(n) character set unicode, varchar(n) character set latin, char(n) character set unicode, char(n) character set latin, JSON | |
Time only | time | ||
Timestamp offset | timestamp with time zone offset |