[][src]Enum sql_ast::Value

pub enum Value {
    Number(String),
    SingleQuotedString(String),
    NationalStringLiteral(String),
    HexStringLiteral(String),
    Boolean(bool),
    Date(String),
    Time(String),
    Timestamp(String),
    Interval {
        value: String,
        leading_field: DateTimeField,
        leading_precision: Option<u64>,
        last_field: Option<DateTimeField>,
        fractional_seconds_precision: Option<u64>,
    },
    Null,
    Default,
}

Primitive SQL values such as number and string

Variants

Number(String)

Numeric literal

SingleQuotedString(String)

'string value'

NationalStringLiteral(String)

N'string value'

HexStringLiteral(String)

X'hex value'

Boolean(bool)

Boolean value true or false

Date(String)

DATE '...' literals

Time(String)

TIME '...' literals

Timestamp(String)

TIMESTAMP '...' literals

Interval

INTERVAL literals, roughly in the following format: INTERVAL '<value>' <leading_field> [ (<leading_precision>) ] [ TO <last_field> [ (<fractional_seconds_precision>) ] ], e.g. INTERVAL '123:45.67' MINUTE(3) TO SECOND(2).

The parser does not validate the <value>, nor does it ensure that the <leading_field> units >= the units in <last_field>, so the user will have to reject intervals like HOUR TO YEAR.

Fields of Interval

value: Stringleading_field: DateTimeFieldleading_precision: Option<u64>last_field: Option<DateTimeField>fractional_seconds_precision: Option<u64>

The seconds precision can be specified in SQL source as INTERVAL '__' SECOND(_, x) (in which case the leading_field will be Second and the last_field will be None), or as __ TO SECOND(x).

Null

NULL value

Default

use the default value

Trait Implementations

impl Clone for Value[src]

impl Debug for Value[src]

impl Display for Value[src]

impl Eq for Value[src]

impl Hash for Value[src]

impl PartialEq<Value> for Value[src]

impl StructuralEq for Value[src]

impl StructuralPartialEq for Value[src]

Auto Trait Implementations

impl RefUnwindSafe for Value

impl Send for Value

impl Sync for Value

impl Unpin for Value

impl UnwindSafe for Value

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.