Enum sqlparser::ast::DataType

source ·
pub enum DataType {
Show 64 variants 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<u64>), Blob(Option<u64>), Bytes(Option<u64>), Numeric(ExactNumberInfo), Decimal(ExactNumberInfo), BigNumeric(ExactNumberInfo), BigDecimal(ExactNumberInfo), Dec(ExactNumberInfo), Float(Option<u64>), TinyInt(Option<u64>), UnsignedTinyInt(Option<u64>), Int2(Option<u64>), UnsignedInt2(Option<u64>), SmallInt(Option<u64>), UnsignedSmallInt(Option<u64>), MediumInt(Option<u64>), UnsignedMediumInt(Option<u64>), Int(Option<u64>), Int4(Option<u64>), Int64, Integer(Option<u64>), UnsignedInt(Option<u64>), UnsignedInt4(Option<u64>), UnsignedInteger(Option<u64>), BigInt(Option<u64>), UnsignedBigInt(Option<u64>), Int8(Option<u64>), UnsignedInt8(Option<u64>), Float4, Float64, Real, Float8, Double, DoublePrecision, Bool, Boolean, Date, Time(Option<u64>, TimezoneInfo), Datetime(Option<u64>), Timestamp(Option<u64>, TimezoneInfo), Interval, JSON, JSONB, Regclass, Text, String(Option<u64>), Bytea, Custom(ObjectName, Vec<String>), Array(ArrayElemTypeDef), Enum(Vec<String>), Set(Vec<String>), Struct(Vec<StructField>), Unspecified,
}
Expand description

SQL data types

Variants§

§

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), standard

§

CharLargeObject(Option<u64>)

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

§

Clob(Option<u64>)

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

§

Binary(Option<u64>)

Fixed-length binary type with optional length e.g. standard, MS SQL Server

§

Varbinary(Option<u64>)

Variable-length binary with optional length type e.g. standard, MS SQL Server

§

Blob(Option<u64>)

Large binary object with optional length e.g. BLOB, BLOB(1000), standard, Oracle

§

Bytes(Option<u64>)

Variable-length binary data with optional length.

§

Numeric(ExactNumberInfo)

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

§

Decimal(ExactNumberInfo)

Decimal type with optional precision and scale e.g. DECIMAL(10,2), 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), 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)

§

UnsignedTinyInt(Option<u64>)

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

§

Int2(Option<u64>)

Int2 as alias for SmallInt in postgresql Note: Int2 mean 2 bytes in postgres (not 2 bits) Int2 with optional display width e.g. INT2 or INT2(5)

§

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

§

UnsignedSmallInt(Option<u64>)

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

§

MediumInt(Option<u64>)

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

§

UnsignedMediumInt(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 as alias for Integer in postgresql Note: Int4 mean 4 bytes in postgres (not 4 bits) Int4 with optional display width e.g. Int4 or Int4(11)

§

Int64

Integer type in bigquery

§

Integer(Option<u64>)

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

§

UnsignedInt(Option<u64>)

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

§

UnsignedInt4(Option<u64>)

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

§

UnsignedInteger(Option<u64>)

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

§

BigInt(Option<u64>)

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

§

UnsignedBigInt(Option<u64>)

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

§

Int8(Option<u64>)

Int8 as alias for Bigint in postgresql Note: Int8 mean 8 bytes in postgres (not 8 bits) Int8 with optional display width e.g. INT8 or INT8(11)

§

UnsignedInt8(Option<u64>)

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

§

Float4

Float4 as alias for Real in postgresql

§

Float64

Floating point in bigquery

§

Real

Floating point e.g. REAL

§

Float8

Float8 as alias for Double in postgresql

§

Double

Double

§

DoublePrecision

Double PRECISION e.g. standard, postgresql

§

Bool

Bool as alias for Boolean in postgresql

§

Boolean

Boolean

§

Date

Date

§

Time(Option<u64>, TimezoneInfo)

Time with optional time precision and time zone information e.g. standard.

§

Datetime(Option<u64>)

Datetime with optional time precision e.g. MySQL.

§

Timestamp(Option<u64>, TimezoneInfo)

Timestamp with optional time precision and time zone information e.g. standard.

§

Interval

Interval

§

JSON

JSON type

§

JSONB

Binary JSON type

§

Regclass

Regclass used in postgresql serial

§

Text

Text

§

String(Option<u64>)

String with optional length.

§

Bytea

Bytea

§

Custom(ObjectName, Vec<String>)

Custom type such as enums

§

Array(ArrayElemTypeDef)

Arrays

§

Enum(Vec<String>)

Enums

§

Set(Vec<String>)

Set

§

Struct(Vec<StructField>)

Struct

§

Unspecified

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

Trait Implementations§

source§

impl Clone for DataType

source§

fn clone(&self) -> DataType

Returns a copy of the value. Read more
1.0.0 · source§

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 + PartialOrd,

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

impl PartialEq for DataType

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method 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

This method 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

This method 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

This method 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

This method 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> 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,

§

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§

default 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>,

§

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>,

§

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>,