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.
[Flags]
public enum DataType
- Extension Methods
Fields
Array = -2147483648Array type flag.
BFile = VarChar | Enum8Oracle BFILE data type.
Binary = Char | NTextA fixed-length stream of binary data ranging between 1 and 8,000 bytes.
BinaryJson = Int64 | DateTime2Binary type utilized postgres provider (jsonb).
BitArray = NChar | XmlArray of bits.
Blob = Char | VarBinaryBinary large object.
Boolean = Char | ImageA simple type representing Boolean values of true or false.
Byte = Char | Int64An 8-bit unsigned integer ranging in value from 0 to 255.
Char = 1A fixed-length stream of non-Unicode characters ranging between 1 and 8,000 characters.
Cursor = VarChar | BitArrayResult set (for example OracleDbType.RefCursor).
Date = Char | SmallMoneyA type representing a date value.
Date32 = Char | DateTzDate32 ClickHouse type.
DateTime = Char | TimeDate and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds.
DateTime2 = 32Date 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.
DateTime2Tz = VarChar | DateTime2Date and time data with timezone information with high precision.
DateTime64 = Char | DateTimeOffsetDateTime64 ClickHouse/YDB type.
DateTimeOffset = NChar | DateTime2Date and time data with DST offset 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.
DateTimeTz = Char | DateTime2Date and time data with timezone information with low precision.
DateTz = NChar | DecimalA type representing a date value with timezone.
DecFloat = Char | BFileType representing number with fixed precision and floating scale (full size).
Decimal = VarBinary | Int64A 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 = VarChar | Decimal32Decimal128 ClickHouse type.
Decimal256 = Char | Decimal128Decimal256 ClickHouse type.
Decimal32 = NChar | IntervalWeekDecimal32 ClickHouse type.
Decimal64 = Char | Decimal32Decimal64 ClickHouse type.
Dictionary = Char | BitArrayDictionary type for key-value pairs.
Double = Char | SingleA floating point number within the range of -1.79E +308 through 1.79E +308.
Enum = Char | Interval64PostgreSQL Enum type.
Enum16 = Char | Enum8ClickHouse Enum16 type.
Enum8 = VarBinary | BinaryJsonClickHouse Enum8 type.
Guid = NChar | VarBinaryA globally unique identifier (or GUID).
Half = Char | UInt64A half-size floating point number.
IPv4 = VarChar | Int256IPv4 address. Used with: ClickHouse.
IPv6 = Char | IPv4IPv6 address. Used with: ClickHouse.
Image = VarChar | VarBinaryA variable-length stream of binary data ranging from 0 to 2 31 -1 (or 2,147,483,647) bytes.
Int128 = VarChar | SmallDecFloatAn integral type representing signed 128-bit integers with values between -170141183460469231731687303715884105728 and 170141183460469231731687303715884105727. Used with: Firebird 4+, ClickHouse.
Int16 = VarChar | GuidAn integral type representing signed 16-bit integers with values between -32768 and 32767.
Int256 = 64Signed 256-bit integer. Used with: ClickHouse.
Int32 = Char | Int16An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647.
Int64 = 16An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807.
Interval = Char | LongRawPostgreSQL interval type.
Interval64 = VarChar | LongRawYDB Interval64 type.
IntervalDay = Char | IntervalHourIntervalDay ClickHouse type.
IntervalHour = VarChar | IntervalSecondIntervalHour ClickHouse type.
IntervalMinute = Char | IntervalSecondIntervalMinute ClickHouse type.
IntervalMonth = Char | IntervalWeekIntervalMonth ClickHouse type.
IntervalQuarter = VarChar | IntervalWeekIntervalQuarter ClickHouse type.
IntervalSecond = NChar | Int256IntervalSecond ClickHouse type.
IntervalWeek = VarBinary | Int256IntervalWeek ClickHouse type.
IntervalYear = Char | IntervalQuarterIntervalYear ClickHouse type.
Json = Char | CursorJson type utilized in postgres provider.
Long = Char | StructuredOracle data type for storing character data of variable length up to 2 Gigabytes in length (bigger version of the VARCHAR2 datatype).
LongRaw = NChar | BinaryJsonOracle data type for storing binary data of variable length up to 2 Gigabytes in length.
Money = Char | DecimalA 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 = 4A fixed-length stream of Unicode characters ranging between 1 and 4,000 characters.
NText = VarChar | NCharA variable-length stream of Unicode data with a maximum length of 2 30 - 1 (or 1,073,741,823) characters.
NVarChar = Char | NCharA 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 = Char | GuidAn integral type representing signed 8-bit integers with values between -128 and 127.
Single = VarChar | UInt64A floating point number within the range of -3.40E +38 through 3.40E +38.
SmallDateTime = Char | DateTime2TzDate and time data ranging in value from January 1, 1900 to June 6, 2079 to an accuracy of one minute.
SmallDecFloat = NChar | Enum8Type representing number with fixed precision and floating scale (half size).
SmallMoney = VarChar | DecimalA currency value ranging from -214,748.3648 to +214,748.3647 with an accuracy to a ten-thousandth of a currency unit.
Structured = VarChar | BinaryJsonSQL Server 2008+ table-valued parameter type (TVP).
Text = Char | VarCharA variable-length stream of non-Unicode data with a maximum length of 2 31 -1 (or 2,147,483,647) characters.
Time = VarChar | DateTzA type representing a time value.
TimeTZ = Char | SmallDecFloatType representing a time value with timezone or offset.
Timestamp = VarChar | DateTimeOffsetArray 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.
Timestamp64 = Char | TimestampTimestamp64 YDB type.
UInt128 = Char | Int128Unsigned 128-bit integer. Used with: ClickHouse.
UInt16 = VarChar | Int64An integral type representing unsigned 16-bit integers with values between 0 and 65535.
UInt256 = Char | Int256Unsigned 256-bit integer. Used with: ClickHouse.
UInt32 = Char | UInt16An integral type representing unsigned 32-bit integers with values between 0 and 4294967295.
UInt64 = NChar | Int64An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615.
Udt = Char | VarNumericA SQL Server 2005 user-defined type (UDT).
Undefined = 0Undefined data type.
VarBinary = 8A 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 = 2A variable-length stream of non-Unicode characters ranging between 1 and 8,000 characters. Use VarChar when the database column is varchar(max).
VarNumeric = VarChar | XmlA variable-length numeric value.
Variant = Char | XmlA general type representing any reference or value type not explicitly represented by another DataType value.
Vector16 = Array | HalfVector (array) of Half values.
Vector32 = Array | SingleVector (array) of Single values.
Xml = VarBinary | DateTime2An XML value. Obtain the XML as a string using the GetValue method or Value property, or as an XmlReader by calling the CreateReader method.
Yson = Char | BinaryJsonYandex YSON type.