JET_COLTYP

Applies to: Windows | Windows Server

JET_COLTYP

The JET_COLTYP group of constants describe all possible column types that can be found in a table.

Constant/value

Description

JET_coltypNil
0

An invalid column type.

JET_coltypBit
1

A column type that allows three values: True, False, or NULL. This type of column is one byte in length and is a fixed size. False sorts before True. Note that the size of this type does not match the size of the variant Boolean type.

JET_coltypUnsignedByte
2

A 1-byte unsigned integer that can take on values between 0 (zero) and 255.

JET_coltypShort
3

A 2-byte signed integer that can take on values between -32768 and 32767. Negative values sort before positive values.

JET_coltypLong
4

A 4-byte signed integer that can take on values between - 2147483648 and 2147483647. Negative values sort before positive values.

JET_coltypCurrency
5

An 8-byte signed integer that can take on values between - 9223372036854775808 and 9223372036854775807. Negative values sort before positive values. This column type is identical to the variant currency type. This column type can also be used as a native 8-byte signed integer.

JET_coltypIEEESingle
6

A single-precision (4-byte) floating point number.

JET_coltypIEEEDouble
7

A double-precision (8-byte) floating point number.

JET_coltypDateTime
8

A double-precision (8-byte) floating point number that represents a date in fractional days since the year 1900. This column type is identical to the variant date type.

JET_coltypBinary
9

A fixed or variable length, raw binary column that can be up to 255 bytes in length.

This column type can be used to implement a GUID if configured as a fixed length, 16-byte binary column. The only caveat is that the relative ordering of values in an index over such a column will not match the relative ordering of the standard registry-string rendering of a GUID (that is "{ 0d6cec99-3f3f-4dc7-a5e6-f87aefeb908b}").

JET_coltypText
10

A fixed or variable length text column that can be up to 255 ASCII characters in length or 127 Unicode characters in length.

All strings are stored as a counted number of characters. The strings need not be null terminated. Further, it is not necessary for the count to include a null terminator. Finally, embedded null characters can be stored.

ASCII strings are always treated as case insensitive for sorting and searching purposes. Further, only the characters preceding the first null character (if any) are considered for sorting and searching.

Unicode strings use the Win32 API LCMapString to create sort keys that are subsequently used for sorting and searching that data. By default, Unicode strings are considered to be in the U.S. English locale and are sorted and searched using the following normalization flags: NORM_IGNORECASE, NORM_IGNOREKANATYPE, and NORM_IGNOREWIDTH. In Windows 2000, it is possible to customize these flags per index to also include NORM_IGNORENONSPACE. In Windows XP and later releases, it is possible to request any combination of the following normalization flags per index: LCMAP_SORTKEY, LCMAP_BYTEREV, NORM_IGNORECASE, NORM_IGNORENONSPACE, NORM_IGNORESYMBOLS, NORM_IGNOREKANATYPE, NORM_IGNOREWIDTH, and SORT_STRINGSORT.

In all releases, it is possible to customize the locale per index. Any locale may be used as long as the appropriate language pack has been installed on the machine. Finally, any null characters encountered in a Unicode string are completely ignored.

JET_coltypLongBinary
11

A fixed or variable length, raw binary column that can be up to 2147483647 bytes in length. This type is considered to be a Long Value. A Long Value is special because it can be large and because it can be accessed as a stream. This type is otherwise identical to JET_coltypBinary.

JET_coltypLongText
12

A fixed or variable length, text column that can be up to 2147483647 ASCII characters in length or 1073741823 Unicode characters in length. This type is considered to be a Long Value. A Long Value is special because it can be large and because it can be accessed as a stream. This type is otherwise identical to JET_coltypText.

JET_coltypSLV
13

This column type is obsolete.

JET_coltypUnsignedLong
14

A 4-byte unsigned integer that can take on values between 0 (zero) and 4294967295.

Windows Vista and Windows Server 2008:  This column type is supported on Windows Vista, Windows Server 2008 and later releases.

JET_coltypLongLong
15

An 8-byte signed integer that can take on values between - 9223372036854775808 and 9223372036854775807. Negative values sort before positive values.

Windows Vista and Windows Server 2008:  This column type is supported on Windows Vista, Windows Server 2008 and later releases.

JET_coltypGUID
16

A fixed length 16 byte binary column that natively represents the GUID data type. GUID column values sort in the same way that those values would sort as strings when in standard form (i.e. {4999b5c0-7657-42d9-bdc1-4b779784e013}).

Windows Vista and Windows Server 2008:  This column type is supported on Windows Vista, Windows Server 2008 and later releases.

JET_coltypUnsignedShort
17

A 2-byte unsigned integer that can take on values between 0 and 65535.

Windows Vista and Windows Server 2008:  This column type is supported on Windows Vista, Windows Server 2008 and later releases.

JET_coltypMax
18

A constant describing the maximum (that is, one beyond the largest valid) column type supported by the engine.

This value should be used with care because it will change as new column types are supported. For example, it has a different literal value on Windows 2000 than it does on Windows XP and later releases.

Requirements

Requirement Value

Client

Requires Windows Vista, Windows XP, or Windows 2000 Professional.

Server

Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.

Header

Declared in Esent.h.

See Also

JetAddColumn
JetCreateTableColumnIndex