DBMS data types supported in ArcGIS

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 table lists the ArcGIS data types. The second column lists the database management system data type that ArcGIS creates. The third column shows what other database management system data types (if any) map to the ArcGIS data type when you view a table that you created outside ArcGIS. The last column provides additional information when needed.

Dameng

ArcGIS data types Dameng data types createdOther Dameng data types that can be viewedNotes

BLOB

BLOB

Date

Datetime6

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

P is the field length you specify for the text field. The default value is 50.

IBM Db2

ArcGIS data typesDb2 data types createdOther Db2 data types that can be viewedNotes

BLOB

BLOB

Date

timestamp

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)

Only supported in geodatabases.

GUID

char(UUID len)

Long Integer

integer

Object ID

Character(38) when created in enterprise geodatabases

Integer with identity property when created in a database

The ArcGIS type ObjectID is the registered row ID column for the table (or feature class.) Only one may exist per table.

Raster

BLOB

Only supported in geodatabases.

Short Integer

smallint

Text

varchar

char

Microsoft SQL Server

ArcGIS data typesSQL Server data types createdOther SQL Server data types that can be viewedNotes

BLOB

varbinary(max)

binary, image, timestamp, varbinary(n)

Date

datetime2(7)

datetime2(n), datetime, smalldatetime

Double

numeric(p,s)

decimal, float, money, smallmoney

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

numeric(p,s)

real

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

  • geometry
  • geography

Specify whether to use GEOMETRY or GEOGRAPHY when a feature class is created.

ArcGIS does not support the following Geometry subtypes:

  • CircularString
  • CompoundCurve
  • CurvePolygon
  • GeometryCollection

You cannot create feature classes in ArcGIS Pro that use the compressed binary geometry storage type, but you can view feature classes in ArcGIS Pro that use it. Compressed binary data is stored as an INT data type in the database.

Global ID

uniqueidentifier

Only supported in geodatabases.

GUID

uniqueidentifier

Long integer

int

Raster

BLOB, int

Raster data types are only supported in geodatabases.

In enterprise geodatabases, the SQL Server data type that is created depends on the configuration keyword used when you create the raster dataset or mosaic dataset. If the keyword's RASTER_STORAGE parameter is set to RASTERBLOB, a BLOB column is created; if set to BINARY, an int column is created.

OBJECT ID

int(4) when created in an enterprise geodatabase

integer with identity property when created in a database

The ArcGIS type ObjectID 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

Oracle

ArcGIS data typesOracle data types createdOther Oracle data types that can be viewedNotes

BLOB

BLOB

Date

timestamp

date

Double

number(38,8)

number(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

number(38,8)

number(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 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.

You cannot create feature classes in ArcGIS Pro that use the compressed binary geometry storage type, but you can view feature classes in ArcGIS Pro that use it. Compressed binary data is stored as a number data type in the database.

Global ID

char or nchar (UUID len)

Only supported in geodatabases.

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(38)

number(n)

The value n can be in the range of 5 to 10. If created with ArcGIS Desktop or ArcObjects and precision is set to 0, a number(38) is created in the database; otherwise, the precision specified is used.

Object ID

number(38) when created in an enterprise geodatabase

number(38) with sequence and trigger when created in the following circumstances:

  • You use Oracle 11g.
  • You register an existing Oracle 12c 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 12c database or use the Add Incrementing ID Field geoprocessing tool to add an ID field to a table in an Oracle 12c database.

The ArcGIS type ObjectID is the registered row ID column for the table (or feature class). Only one can exist per table.

Raster

BLOB or number(38)

Rasters are only supported in geodatabases. 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(n)

The value n can be in the range of 1 to 5. However, short integer columns can only store values that fall in the range -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.

When created with ArcGIS Desktop, n = 5. This allows you to store short integers that fall within the allowable range.

Text

varchar2, CLOB, nvarchar2, or NCLOB

PostgreSQL

ArcGIS data typesPostgreSQL data types createdOther PostgreSQL data types that can be viewedNotes

BLOB

bytea

Date

timestamp without zone

timestamp

Double

numeric(p,s)

big serial, double precision

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

numeric(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, 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)

Only supported in geodatabases.

GUID

varchar(38)

UUID

Long Integer

integer

serial

Object ID

Integer in a geodatabase

Serial in a database

The ArcGIS type ObjectID is the registered row ID column for the table (or feature class). Only one can exist per table.

Raster

bytea

Rasters are supported only in geodatabases.

Short Integer

smallint

real

Text

character varying

character, varchar, text

SAP HANA

ArcGIS data typesSAP HANA data types createdOther SAP HANA data types that can be viewedNotes

BLOB

BLOB

Date

timestamp

date, seconddate, time

Double

decimal(38,8)

decimal(m,n), number(m,n), numeric(m,n), bigint

m > 0

The precision and scale specified in ArcGIS affects the resultant data type created in the database.

Float

decimal(38,8)

decimal(m,n)

m <= 9 and n > 0

The precision and scale specified in ArcGIS affects the resultant data type created in the database.

Geometry

ST_Geometry

Global ID

character(38)

GUID

character(38)

Latin character set

Long Integer

integer

decimal(m,0)

m <= 9

Object ID

bigint

Only 32-bit numbers stored at this time.

Raster

Not applicable

Rasters are only supported in geodatabases. 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

SQLite

SQLite (including 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, geometryblob, and uuidtext types that get created in SQLite when you create a date, 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 typesSQLite data types createdOther SQLite data types that can be viewedNotes

BLOB

blob(n)

Date

realdate

Double

float64

numeric, double, float, boolean, real

integer, int, int64, int32 (in databases that do not have SpatiaLite installed)

Float

float64

Geometry

geometryblob

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

Teradata Data Warehouse Appliance

ArcGIS data typesTeradata data types createdOther Teradata data types that can be viewedNotes

BLOB

BLOB

Blob created with Teradata default size.

Date

timestamp

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(n,m), number(n,m), numeric(n,m)

n = 5, 6, 7, 8, or 9

m = 0

Object ID

integer

Short Integer

smallint

decimal(n,m), number(n,m), numeric(n,m)

n <= 4

m = 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