Table of Contents

Enum DataType

Namespace
LinqToDB
Assembly
linq2db.dll

List of data types, supported by linq2db. Provider-level support depends on database capabilities and current implementation support level and could vary for different providers.

public enum DataType
Extension Methods

Fields

BFile = 51

Oracle BFILE data type.

Binary = 7

A fixed-length stream of binary data ranging between 1 and 8,000 bytes.

BinaryJson = 43

Binary type utilized postgres provider (jsonb).

BitArray = 39

Array of bits.

Blob = 9

Binary large object.

Boolean = 11

A simple type representing Boolean values of true or false.

Byte = 17

An 8-bit unsigned integer ranging in value from 0 to 255.

Char = 1

A fixed-length stream of non-Unicode characters ranging between 1 and 8,000 characters.

Cursor = 41

Result set (for example OracleDbType.RefCursor).

Date = 26

A type representing a date value.

Date32 = 27

Date32 ClickHouse type.

DateTime = 29

Date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds.

DateTime2 = 30

Date and time data. Date value range is from January 1,1 AD through December 31, 9999 AD. Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds.

DateTime64 = 33

DateTime64 ClickHouse type.

DateTimeOffset = 32

Date and time data with time zone awareness. Date value range is from January 1,1 AD through December 31, 9999 AD. Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. Time zone value range is -14:00 through +14:00.

DecFloat = 52

Type representing number with fixed precision and floating scale.

Decimal = 23

A simple type representing values with fixed precision and scale numbers. When maximum precision is used, valid values are from -10^38+1 through 10^38-1.

Decimal128 = 70

Decimal128 ClickHouse type.

Decimal256 = 71

Decimal256 ClickHouse type.

Decimal32 = 68

Decimal32 ClickHouse type.

Decimal64 = 69

Decimal64 ClickHouse type.

Dictionary = 40

Dictionary type for key-value pairs.

Double = 22

A floating point number within the range of -1.79E +308 through 1.79E +308.

Enum = 48

PostgreSQL Enum type.

Enum16 = 50

ClickHouse Enum16 type.

Enum8 = 49

ClickHouse Enum8 type.

Guid = 12

A globally unique identifier (or GUID).

IPv4 = 58

IPv4 address. Used with: ClickHouse.

IPv6 = 59

IPv6 address. Used with: ClickHouse.

Image = 10

A variable-length stream of binary data ranging from 0 to 2 31 -1 (or 2,147,483,647) bytes.

Int128 = 54

An integral type representing signed 128-bit integers with values between -170141183460469231731687303715884105728 and 170141183460469231731687303715884105727. Used with: Firebird 4+, ClickHouse.

Int16 = 14

An integral type representing signed 16-bit integers with values between -32768 and 32767.

Int256 = 56

Signed 256-bit integer. Used with: ClickHouse.

Int32 = 15

An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647.

Int64 = 16

An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807.

Interval = 47

PostgreSQL interval type.

IntervalDay = 63

IntervalDay ClickHouse type.

IntervalHour = 62

IntervalHour ClickHouse type.

IntervalMinute = 61

IntervalMinute ClickHouse type.

IntervalMonth = 65

IntervalMonth ClickHouse type.

IntervalQuarter = 66

IntervalQuarter ClickHouse type.

IntervalSecond = 60

IntervalSecond ClickHouse type.

IntervalWeek = 64

IntervalWeek ClickHouse type.

IntervalYear = 67

IntervalYear ClickHouse type.

Json = 42

Json type utilized in postgres provider.

Long = 45

Oracle data type for storing character data of variable length up to 2 Gigabytes in length (bigger version of the VARCHAR2 datatype).

LongRaw = 46

Oracle data type for storing binary data of variable length up to 2 Gigabytes in length.

Money = 24

A currency value ranging from -2 63 (or -9,223,372,036,854,775,808) to 2 63 -1 (or +9,223,372,036,854,775,807) with an accuracy to a ten-thousandth of a currency unit.

NChar = 4

A fixed-length stream of Unicode characters ranging between 1 and 4,000 characters.

NText = 6

A variable-length stream of Unicode data with a maximum length of 2 30 - 1 (or 1,073,741,823) characters.

NVarChar = 5

A variable-length stream of Unicode characters ranging between 1 and 4,000 characters. Implicit conversion fails if the string is greater than 4,000 characters. Oracle: We need NVarChar2 in order to insert UTF8 string values. The default Odp VarChar2 dbtype doesnt work with UTF8 values. Note : Microsoft oracle client uses NVarChar value by default.

Same as VARCHAR2 except that the column stores values in the National CS , ie you can store values in Bangla if your National CS is BN8BSCII .If the National CS is of fixed width CS (all characters are represented by a fixed byte ,say 2 bytes for JA16EUCFIXED) , then NVARCHAR2(30) stores 30 Characters. Varchar2 works with 8 bit characters where as Nvarchar2 works ith 16 bit characters. If you have to store data other than english prefer Nvarchar2 or viceversa.

NCHAR and NVARCHAR2 are Unicode datatypes that store Unicode character data. The character set of NCHAR and NVARCHAR2 datatypes can only be either AL16UTF16 or UTF8 and is specified at database creation time as the national character set. AL16UTF16 and UTF8 are both Unicode encoding. The NCHAR datatype stores fixed-length character strings that correspond to the national character set.The NVARCHAR2 datatype stores variable length character strings. When you create a table with an NCHAR or NVARCHAR2 column, the maximum size specified is always in character length semantics. Character length semantics is the default and only length semantics for NCHAR or NVARCHAR2. For example, if national character set is UTF8, then the following statement defines the maximum byte length of 90 bytes: CREATE TABLE tab1 (col1 NCHAR(30)); This statement creates a column with maximum character length of 30. The maximum byte length is the multiple of the maximum character length and the maximum number of bytes in each character. The maximum length of an NVARCHAR2 column is 4000 bytes. It can hold up to 4000 characters. The actual data is subject to the maximum byte limit of 4000. The two size constraints must be satisfied simultaneously at run time.

SByte = 13

An integral type representing signed 8-bit integers with values between -128 and 127.

Single = 21

A floating point number within the range of -3.40E +38 through 3.40E +38.

SmallDateTime = 31

Date and time data ranging in value from January 1, 1900 to June 6, 2079 to an accuracy of one minute.

SmallMoney = 25

A currency value ranging from -214,748.3648 to +214,748.3647 with an accuracy to a ten-thousandth of a currency unit.

Structured = 44

SQL Server 2008+ table-valued parameter type (TVP).

Text = 3

A variable-length stream of non-Unicode data with a maximum length of 2 31 -1 (or 2,147,483,647) characters.

Time = 28

A type representing a time value.

TimeTZ = 53

Type representing a time value with timezone or offset.

Timestamp = 34

Array of type Byte. Automatically generated binary numbers, which are guaranteed to be unique within a database. timestamp is used typically as a mechanism for version-stamping table rows. The storage size is 8 bytes.

UInt128 = 55

Unsigned 128-bit integer. Used with: ClickHouse.

UInt16 = 18

An integral type representing unsigned 16-bit integers with values between 0 and 65535.

UInt256 = 57

Unsigned 256-bit integer. Used with: ClickHouse.

UInt32 = 19

An integral type representing unsigned 32-bit integers with values between 0 and 4294967295.

UInt64 = 20

An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615.

Udt = 38

A SQL Server 2005 user-defined type (UDT).

Undefined = 0

Undefined data type.

VarBinary = 8

A variable-length stream of binary data ranging between 1 and 8,000 bytes. Implicit conversion fails if the byte array is greater than 8,000 bytes.

VarChar = 2

A variable-length stream of non-Unicode characters ranging between 1 and 8,000 characters. Use VarChar when the database column is varchar(max).

VarNumeric = 37

A variable-length numeric value.

Variant = 36

A general type representing any reference or value type not explicitly represented by another DataType value.

Xml = 35

An XML value. Obtain the XML as a string using the GetValue method or Value property, or as an XmlReader by calling the CreateReader method.