Enum Value
pub enum Value {
Show 28 variants
Bool(Option<bool>),
TinyInt(Option<i8>),
SmallInt(Option<i16>),
Int(Option<i32>),
BigInt(Option<i64>),
TinyUnsigned(Option<u8>),
SmallUnsigned(Option<u16>),
Unsigned(Option<u32>),
BigUnsigned(Option<u64>),
Float(Option<f32>),
Double(Option<f64>),
String(Option<String>),
Char(Option<char>),
Bytes(Option<Vec<u8>>),
Json(Option<Box<Value>>),
ChronoDate(Option<NaiveDate>),
ChronoTime(Option<NaiveTime>),
ChronoDateTime(Option<NaiveDateTime>),
ChronoDateTimeUtc(Option<DateTime<Utc>>),
ChronoDateTimeLocal(Option<DateTime<Local>>),
ChronoDateTimeWithTimeZone(Option<DateTime<FixedOffset>>),
TimeDate(Option<Date>),
TimeTime(Option<Time>),
TimeDateTime(Option<PrimitiveDateTime>),
TimeDateTimeWithTimeZone(Option<OffsetDateTime>),
Uuid(Option<Uuid>),
Decimal(Option<Decimal>),
Array(ArrayType, Option<Box<Vec<Value>>>),
}Expand description
Value variants
We want the inner Value to be exactly 1 pointer sized, so anything larger should be boxed.
If the hashable-value feature is enabled, NaN == NaN, which contradicts Rust’s built-in
implementation of NaN != NaN.
Variants§
Bool(Option<bool>)
TinyInt(Option<i8>)
SmallInt(Option<i16>)
Int(Option<i32>)
BigInt(Option<i64>)
TinyUnsigned(Option<u8>)
SmallUnsigned(Option<u16>)
Unsigned(Option<u32>)
BigUnsigned(Option<u64>)
Float(Option<f32>)
Double(Option<f64>)
String(Option<String>)
Char(Option<char>)
Bytes(Option<Vec<u8>>)
Json(Option<Box<Value>>)
ChronoDate(Option<NaiveDate>)
ChronoTime(Option<NaiveTime>)
ChronoDateTime(Option<NaiveDateTime>)
ChronoDateTimeUtc(Option<DateTime<Utc>>)
ChronoDateTimeLocal(Option<DateTime<Local>>)
ChronoDateTimeWithTimeZone(Option<DateTime<FixedOffset>>)
TimeDate(Option<Date>)
TimeTime(Option<Time>)
TimeDateTime(Option<PrimitiveDateTime>)
TimeDateTimeWithTimeZone(Option<OffsetDateTime>)
Uuid(Option<Uuid>)
Decimal(Option<Decimal>)
Array(ArrayType, Option<Box<Vec<Value>>>)
Implementations§
Source§impl Value
impl Value
pub fn is_chrono_date(&self) -> bool
pub fn is_chrono_time(&self) -> bool
pub fn is_chrono_date_time(&self) -> bool
pub fn is_chrono_date_time_utc(&self) -> bool
pub fn is_chrono_date_time_with_time_zone(&self) -> bool
pub fn is_chrono_date_time_local(&self) -> bool
pub fn as_ref_chrono_date(&self) -> Option<&NaiveDate>
pub fn as_ref_chrono_time(&self) -> Option<&NaiveTime>
pub fn as_ref_chrono_date_time(&self) -> Option<&NaiveDateTime>
pub fn as_ref_chrono_date_time_utc(&self) -> Option<&DateTime<Utc>>
pub fn as_ref_chrono_date_time_with_time_zone( &self, ) -> Option<&DateTime<FixedOffset>>
pub fn as_ref_chrono_date_time_local(&self) -> Option<&DateTime<Local>>
pub fn chrono_as_naive_utc_in_string(&self) -> Option<String>
Source§impl Value
impl Value
pub fn is_time_date(&self) -> bool
pub fn as_ref_time_date(&self) -> Option<&Date>
Source§impl Value
impl Value
pub fn is_time_time(&self) -> bool
pub fn as_ref_time_time(&self) -> Option<&Time>
Source§impl Value
impl Value
pub fn is_time_date_time(&self) -> bool
pub fn as_ref_time_date_time(&self) -> Option<&PrimitiveDateTime>
Source§impl Value
impl Value
pub fn is_time_date_time_with_time_zone(&self) -> bool
pub fn as_ref_time_date_time_with_time_zone(&self) -> Option<&OffsetDateTime>
Source§impl Value
impl Value
pub fn is_decimal(&self) -> bool
pub fn as_ref_decimal(&self) -> Option<&Decimal>
pub fn decimal_to_f64(&self) -> Option<f64>
Source§impl Value
impl Value
pub fn unwrap<T>(self) -> Twhere
T: ValueType,
pub fn expect<T>(self, msg: &str) -> Twhere
T: ValueType,
Sourcepub fn as_null(&self) -> Value
pub fn as_null(&self) -> Value
Get the null variant of self
use sea_query::Value;
let v = Value::Int(Some(2));
let n = v.as_null();
assert_eq!(n, Value::Int(None));
// one liner:
assert_eq!(Into::<Value>::into(2.2).as_null(), Value::Double(None));Sourcepub fn dummy_value(&self) -> Value
pub fn dummy_value(&self) -> Value
Get a default value of self’s type
use sea_query::Value;
let v = Value::Int(None);
let n = v.dummy_value();
assert_eq!(n, Value::Int(Some(0)));pub fn array_type(&self) -> ArrayType
Trait Implementations§
§impl From<ChronoUnixTimestamp> for Value
impl From<ChronoUnixTimestamp> for Value
§fn from(source: ChronoUnixTimestamp) -> Self
fn from(source: ChronoUnixTimestamp) -> Self
Converts to this type from the input type.
§impl From<ChronoUnixTimestampMillis> for Value
impl From<ChronoUnixTimestampMillis> for Value
§fn from(source: ChronoUnixTimestampMillis) -> Self
fn from(source: ChronoUnixTimestampMillis) -> Self
Converts to this type from the input type.
Source§impl From<Hyphenated> for Value
impl From<Hyphenated> for Value
Source§fn from(x: Hyphenated) -> Value
fn from(x: Hyphenated) -> Value
Converts to this type from the input type.
Source§impl From<NaiveDateTime> for Value
impl From<NaiveDateTime> for Value
Source§fn from(x: NaiveDateTime) -> Value
fn from(x: NaiveDateTime) -> Value
Converts to this type from the input type.
Source§impl From<OffsetDateTime> for Value
impl From<OffsetDateTime> for Value
Source§fn from(v: OffsetDateTime) -> Value
fn from(v: OffsetDateTime) -> Value
Converts to this type from the input type.
Source§impl From<PrimitiveDateTime> for Value
impl From<PrimitiveDateTime> for Value
Source§fn from(x: PrimitiveDateTime) -> Value
fn from(x: PrimitiveDateTime) -> Value
Converts to this type from the input type.
§impl From<TimeUnixTimestamp> for Value
impl From<TimeUnixTimestamp> for Value
§fn from(source: TimeUnixTimestamp) -> Self
fn from(source: TimeUnixTimestamp) -> Self
Converts to this type from the input type.
§impl From<TimeUnixTimestampMillis> for Value
impl From<TimeUnixTimestampMillis> for Value
§fn from(source: TimeUnixTimestampMillis) -> Self
fn from(source: TimeUnixTimestampMillis) -> Self
Converts to this type from the input type.
impl Eq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> ExprTrait for T
impl<T> ExprTrait for T
Source§fn as_enum<N>(self, type_name: N) -> Exprwhere
N: IntoIden,
fn as_enum<N>(self, type_name: N) -> Exprwhere
N: IntoIden,
Express a
AS enum expression. Read moreSource§fn cast_as<N>(self, type_name: N) -> Exprwhere
N: IntoIden,
fn cast_as<N>(self, type_name: N) -> Exprwhere
N: IntoIden,
Express a
CAST AS expression. Read moreSource§fn count_distinct(self) -> Expr
fn count_distinct(self) -> Expr
Express a
COUNT function with the DISTINCT modifier. Read moreSource§fn equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
fn equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
Express a equal expression between two table columns,
you will mainly use this to relate identical value between two table columns. Read more
Source§fn in_subquery(self, sel: SelectStatement) -> Expr
fn in_subquery(self, sel: SelectStatement) -> Expr
Express a
IN sub-query expression. Read moreSource§fn in_tuples<V, I>(self, v: I) -> Exprwhere
V: IntoValueTuple,
I: IntoIterator<Item = V>,
fn in_tuples<V, I>(self, v: I) -> Exprwhere
V: IntoValueTuple,
I: IntoIterator<Item = V>,
Express a
IN sub expression. Read moreSource§fn is_not_null(self) -> Expr
fn is_not_null(self) -> Expr
Express a
IS NOT NULL expression. Read moreSource§fn left_shift<R>(self, right: R) -> Expr
fn left_shift<R>(self, right: R) -> Expr
Express a bitwise left shift. Read more
Source§fn not_between<A, B>(self, a: A, b: B) -> Expr
fn not_between<A, B>(self, a: A, b: B) -> Expr
Express a
NOT BETWEEN expression. Read moreSource§fn not_equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
fn not_equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
Express a not equal expression between two table columns,
you will mainly use this to relate identical value between two table columns. Read more
Source§fn not_in_subquery(self, sel: SelectStatement) -> Expr
fn not_in_subquery(self, sel: SelectStatement) -> Expr
Express a
NOT IN sub-query expression. Read moreSource§fn not_like<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn not_like<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
Express a
NOT LIKE expression. Read moreSource§fn right_shift<R>(self, right: R) -> Expr
fn right_shift<R>(self, right: R) -> Expr
Express a bitwise right shift. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoValueTuple for Twhere
T: Into<ValueTuple>,
impl<T> IntoValueTuple for Twhere
T: Into<ValueTuple>,
fn into_value_tuple(self) -> ValueTuple
Source§impl<T> PgExpr for Twhere
T: ExprTrait,
impl<T> PgExpr for Twhere
T: ExprTrait,
Source§fn concatenate<T>(self, right: T) -> Expr
fn concatenate<T>(self, right: T) -> Expr
Express an postgres concatenate (
||) expression. Read moreSource§fn matches<T>(self, expr: T) -> Expr
fn matches<T>(self, expr: T) -> Expr
Express an postgres fulltext search matches (
@@) expression. Read moreSource§fn contains<T>(self, expr: T) -> Expr
fn contains<T>(self, expr: T) -> Expr
Express an postgres fulltext search contains (
@>) expression. Read moreSource§fn contained<T>(self, expr: T) -> Expr
fn contained<T>(self, expr: T) -> Expr
Express an postgres fulltext search contained (
<@) expression. Read moreSource§fn ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
Express a
ILIKE expression. Read moreSource§fn not_ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn not_ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
Express a
NOT ILIKE expressionSource§fn get_json_field<T>(self, right: T) -> Expr
fn get_json_field<T>(self, right: T) -> Expr
Express a postgres retrieves JSON field as JSON value (
->). Read moreSource§fn cast_json_field<T>(self, right: T) -> Expr
fn cast_json_field<T>(self, right: T) -> Expr
Express a postgres retrieves JSON field and casts it to an appropriate SQL type (
->>). Read more