Thanks to visit codestin.com
Credit goes to docs.rs

Enum DataType

Source
pub enum DataType {
Show 108 variants Table(Option<Vec<ColumnDef>>), NamedTable { name: ObjectName, columns: Vec<ColumnDef>, }, Character(Option<CharacterLength>), Char(Option<CharacterLength>), CharacterVarying(Option<CharacterLength>), CharVarying(Option<CharacterLength>), Varchar(Option<CharacterLength>), Nvarchar(Option<CharacterLength>), Uuid, CharacterLargeObject(Option<u64>), CharLargeObject(Option<u64>), Clob(Option<u64>), Binary(Option<u64>), Varbinary(Option<BinaryLength>), Blob(Option<u64>), TinyBlob, MediumBlob, LongBlob, Bytes(Option<u64>), Numeric(ExactNumberInfo), Decimal(ExactNumberInfo), BigNumeric(ExactNumberInfo), BigDecimal(ExactNumberInfo), Dec(ExactNumberInfo), Float(Option<u64>), TinyInt(Option<u64>), TinyIntUnsigned(Option<u64>), UTinyInt, Int2(Option<u64>), Int2Unsigned(Option<u64>), SmallInt(Option<u64>), SmallIntUnsigned(Option<u64>), USmallInt, MediumInt(Option<u64>), MediumIntUnsigned(Option<u64>), Int(Option<u64>), Int4(Option<u64>), Int8(Option<u64>), Int16, Int32, Int64, Int128, Int256, Integer(Option<u64>), IntUnsigned(Option<u64>), Int4Unsigned(Option<u64>), IntegerUnsigned(Option<u64>), HugeInt, UHugeInt, UInt8, UInt16, UInt32, UInt64, UInt128, UInt256, BigInt(Option<u64>), BigIntUnsigned(Option<u64>), UBigInt, Int8Unsigned(Option<u64>), Signed, SignedInteger, Unsigned, UnsignedInteger, Float4, Float32, Float64, Real, Float8, Double(ExactNumberInfo), DoublePrecision, Bool, Boolean, Date, Date32, Time(Option<u64>, TimezoneInfo), Datetime(Option<u64>), Datetime64(u64, Option<String>), Timestamp(Option<u64>, TimezoneInfo), TimestampNtz, Interval, JSON, JSONB, Regclass, Text, TinyText, MediumText, LongText, String(Option<u64>), FixedString(u64), Bytea, Bit(Option<u64>), BitVarying(Option<u64>), VarBit(Option<u64>), Custom(ObjectName, Vec<String>), Array(ArrayElemTypeDef), Map(Box<DataType>, Box<DataType>), Tuple(Vec<StructField>), Nested(Vec<ColumnDef>), Enum(Vec<EnumMember>, Option<u8>), Set(Vec<String>), Struct(Vec<StructField>, StructBracketKind), Union(Vec<UnionField>), Nullable(Box<DataType>), LowCardinality(Box<DataType>), Unspecified, Trigger, AnyType, GeometricType(GeometricTypeKind),
}
Expand description

SQL data types

Variants§

§

Table(Option<Vec<ColumnDef>>)

Table type in PostgreSQL, e.g. CREATE FUNCTION RETURNS TABLE(…).

§

NamedTable

Table type with a name, e.g. CREATE FUNCTION RETURNS @result TABLE(…).

Fields

§name: ObjectName

Table name.

§columns: Vec<ColumnDef>

Table columns.

§

Character(Option<CharacterLength>)

Fixed-length character type, e.g. CHARACTER(10).

§

Char(Option<CharacterLength>)

Fixed-length char type, e.g. CHAR(10).

§

CharacterVarying(Option<CharacterLength>)

Character varying type, e.g. CHARACTER VARYING(10).

§

CharVarying(Option<CharacterLength>)

Char varying type, e.g. CHAR VARYING(10).

§

Varchar(Option<CharacterLength>)

Variable-length character type, e.g. VARCHAR(10).

§

Nvarchar(Option<CharacterLength>)

Variable-length character type, e.g. NVARCHAR(10).

§

Uuid

Uuid type.

§

CharacterLargeObject(Option<u64>)

Large character object with optional length, e.g. CHARACTER LARGE OBJECT, CHARACTER LARGE OBJECT(1000), SQL Standard.

§

CharLargeObject(Option<u64>)

Large character object with optional length, e.g. CHAR LARGE OBJECT, CHAR LARGE OBJECT(1000), SQL Standard.

§

Clob(Option<u64>)

Large character object with optional length, e.g. CLOB, CLOB(1000), SQL Standard.

§

Binary(Option<u64>)

Fixed-length binary type with optional length, see SQL Standard, MS SQL Server.

§

Varbinary(Option<BinaryLength>)

Variable-length binary with optional length type, see SQL Standard, MS SQL Server.

§

Blob(Option<u64>)

Large binary object with optional length, see SQL Standard, Oracle.

§

TinyBlob

MySQL blob with up to 2**8 bytes.

§

MediumBlob

MySQL blob with up to 2**24 bytes.

§

LongBlob

MySQL blob with up to 2**32 bytes.

§

Bytes(Option<u64>)

Variable-length binary data with optional length.

§

Numeric(ExactNumberInfo)

Numeric type with optional precision and scale, e.g. NUMERIC(10,2), SQL Standard.

§

Decimal(ExactNumberInfo)

Decimal type with optional precision and scale, e.g. DECIMAL(10,2), SQL Standard.

§

BigNumeric(ExactNumberInfo)

BigNumeric type used in BigQuery.

§

BigDecimal(ExactNumberInfo)

This is alias for BigNumeric type used in BigQuery.

§

Dec(ExactNumberInfo)

Dec type with optional precision and scale, e.g. DEC(10,2), SQL Standard.

§

Float(Option<u64>)

Floating point with optional precision, e.g. FLOAT(8).

§

TinyInt(Option<u64>)

Tiny integer with optional display width, e.g. TINYINT or TINYINT(3).

§

TinyIntUnsigned(Option<u64>)

Unsigned tiny integer with optional display width, e.g. TINYINT UNSIGNED or TINYINT(3) UNSIGNED.

§

UTinyInt

Unsigned tiny integer, e.g. UTINYINT

§

Int2(Option<u64>)

Int2 is an alias for SmallInt in PostgreSQL. Note: Int2 means 2 bytes in PostgreSQL (not 2 bits). Int2 with optional display width, e.g. INT2 or INT2(5).

§

Int2Unsigned(Option<u64>)

Unsigned Int2 with optional display width, e.g. INT2 UNSIGNED or INT2(5) UNSIGNED.

§

SmallInt(Option<u64>)

Small integer with optional display width, e.g. SMALLINT or SMALLINT(5).

§

SmallIntUnsigned(Option<u64>)

Unsigned small integer with optional display width, e.g. SMALLINT UNSIGNED or SMALLINT(5) UNSIGNED.

§

USmallInt

Unsigned small integer, e.g. USMALLINT.

§

MediumInt(Option<u64>)

MySQL medium integer (1) with optional display width, e.g. MEDIUMINT or MEDIUMINT(5).

§

MediumIntUnsigned(Option<u64>)

Unsigned medium integer (1) with optional display width, e.g. MEDIUMINT UNSIGNED or MEDIUMINT(5) UNSIGNED.

§

Int(Option<u64>)

Int with optional display width, e.g. INT or INT(11).

§

Int4(Option<u64>)

Int4 is an alias for Integer in PostgreSQL. Note: Int4 means 4 bytes in PostgreSQL (not 4 bits). Int4 with optional display width, e.g. Int4 or Int4(11).

§

Int8(Option<u64>)

Int8 is an alias for BigInt in PostgreSQL and Integer type in ClickHouse. Int8 with optional display width, e.g. INT8 or INT8(11). Note: Int8 means 8 bytes in PostgreSQL, but 8 bits in ClickHouse.

§

Int16

Integer type in ClickHouse. Note: Int16 means 16 bits in ClickHouse.

§

Int32

Integer type in ClickHouse. Note: Int32 means 32 bits in ClickHouse.

§

Int64

Integer type in BigQuery, ClickHouse.

§

Int128

Integer type in ClickHouse. Note: Int128 means 128 bits in ClickHouse.

§

Int256

Integer type in ClickHouse. Note: Int256 means 256 bits in ClickHouse.

§

Integer(Option<u64>)

Integer with optional display width, e.g. INTEGER or INTEGER(11).

§

IntUnsigned(Option<u64>)

Unsigned int with optional display width, e.g. INT UNSIGNED or INT(11) UNSIGNED.

§

Int4Unsigned(Option<u64>)

Unsigned int4 with optional display width, e.g. INT4 UNSIGNED or INT4(11) UNSIGNED.

§

IntegerUnsigned(Option<u64>)

Unsigned integer with optional display width, e.g. INTEGER UNSIGNED or INTEGER(11) UNSIGNED.

§

HugeInt

128-bit integer type, e.g. HUGEINT.

§

UHugeInt

Unsigned 128-bit integer type, e.g. UHUGEINT.

§

UInt8

Unsigned integer type in ClickHouse. Note: UInt8 means 8 bits in ClickHouse.

§

UInt16

Unsigned integer type in ClickHouse. Note: UInt16 means 16 bits in ClickHouse.

§

UInt32

Unsigned integer type in ClickHouse. Note: UInt32 means 32 bits in ClickHouse.

§

UInt64

Unsigned integer type in ClickHouse. Note: UInt64 means 64 bits in ClickHouse.

§

UInt128

Unsigned integer type in ClickHouse. Note: UInt128 means 128 bits in ClickHouse.

§

UInt256

Unsigned integer type in ClickHouse. Note: UInt256 means 256 bits in ClickHouse.

§

BigInt(Option<u64>)

Big integer with optional display width, e.g. BIGINT or BIGINT(20).

§

BigIntUnsigned(Option<u64>)

Unsigned big integer with optional display width, e.g. BIGINT UNSIGNED or BIGINT(20) UNSIGNED.

§

UBigInt

Unsigned big integer, e.g. UBIGINT.

§

Int8Unsigned(Option<u64>)

Unsigned Int8 with optional display width, e.g. INT8 UNSIGNED or INT8(11) UNSIGNED.

§

Signed

Signed integer as used in MySQL CAST target types, without optional INTEGER suffix, e.g. SIGNED

§

SignedInteger

Signed integer as used in MySQL CAST target types, with optional INTEGER suffix, e.g. SIGNED INTEGER

§

Unsigned

Signed integer as used in MySQL CAST target types, without optional INTEGER suffix, e.g. SIGNED

§

UnsignedInteger

Unsigned integer as used in MySQL CAST target types, with optional INTEGER suffix, e.g. UNSIGNED INTEGER.

§

Float4

Float4 is an alias for Real in PostgreSQL.

§

Float32

Floating point in ClickHouse.

§

Float64

Floating point in BigQuery.

§

Real

Floating point, e.g. REAL.

§

Float8

Float8 is an alias for Double in PostgreSQL.

§

Double(ExactNumberInfo)

Double

§

DoublePrecision

Double Precision, see SQL Standard, PostgreSQL.

§

Bool

Bool is an alias for Boolean, see PostgreSQL.

§

Boolean

Boolean type.

§

Date

Date type.

§

Date32

Date32 with the same range as Datetime64.

§

Time(Option<u64>, TimezoneInfo)

Time with optional time precision and time zone information, see SQL Standard.

§

Datetime(Option<u64>)

Datetime with optional time precision, see MySQL.

§

Datetime64(u64, Option<String>)

Datetime with time precision and optional timezone, see ClickHouse.

§

Timestamp(Option<u64>, TimezoneInfo)

Timestamp with optional time precision and time zone information, see SQL Standard.

§

TimestampNtz

Databricks timestamp without time zone. See 1.

§

Interval

Interval type.

§

JSON

JSON type.

§

JSONB

Binary JSON type.

§

Regclass

Regclass used in PostgreSQL serial.

§

Text

Text type.

§

TinyText

MySQL text with up to 2**8 bytes.

§

MediumText

MySQL text with up to 2**24 bytes.

§

LongText

MySQL text with up to 2**32 bytes.

§

String(Option<u64>)

String with optional length.

§

FixedString(u64)

A fixed-length string e.g ClickHouse.

§

Bytea

Bytea type, see PostgreSQL.

§

Bit(Option<u64>)

Bit string, see PostgreSQL, MySQL, or MSSQL.

§

BitVarying(Option<u64>)

BIT VARYING(n): Variable-length bit string, see PostgreSQL.

§

VarBit(Option<u64>)

VARBIT(n): Variable-length bit string. PostgreSQL alias for BIT VARYING.

§

Custom(ObjectName, Vec<String>)

Custom types.

§

Array(ArrayElemTypeDef)

Arrays.

§

Map(Box<DataType>, Box<DataType>)

Map, see ClickHouse.

§

Tuple(Vec<StructField>)

Tuple, see ClickHouse.

§

Nested(Vec<ColumnDef>)

Nested type, see ClickHouse.

§

Enum(Vec<EnumMember>, Option<u8>)

Enum type.

§

Set(Vec<String>)

Set type.

§

Struct(Vec<StructField>, StructBracketKind)

Struct type, see Hive, BigQuery.

§

Union(Vec<UnionField>)

Union type, see DuckDB.

§

Nullable(Box<DataType>)

Nullable - special marker NULL represents in ClickHouse as a data type.

§

LowCardinality(Box<DataType>)

LowCardinality - changes the internal representation of other data types to be dictionary-encoded.

§

Unspecified

No type specified - only used with SQLiteDialect, from statements such as CREATE TABLE t1 (a).

§

Trigger

Trigger data type, returned by functions associated with triggers, see PostgreSQL.

§

AnyType

Any data type, used in BigQuery UDF definitions for templated parameters, see BigQuery.

§

GeometricType(GeometricTypeKind)

Geometric type, see PostgreSQL.

Trait Implementations§

Source§

impl Clone for DataType

Source§

fn clone(&self) -> DataType

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DataType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for DataType

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for DataType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for DataType

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for DataType

Source§

fn cmp(&self, other: &DataType) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for DataType

Source§

fn eq(&self, other: &DataType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for DataType

Source§

fn partial_cmp(&self, other: &DataType) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Serialize for DataType

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Visit for DataType

Source§

fn visit<V: Visitor>(&self, visitor: &mut V) -> ControlFlow<V::Break>

Source§

impl VisitMut for DataType

Source§

fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>

Source§

impl Eq for DataType

Source§

impl StructuralPartialEq for DataType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,