pub enum Value {
Show 31 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>),
Enum(Option<Arc<Enum>>),
Bytes(Option<Vec<u8>>),
Json(Option<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>),
BigDecimal(Option<BigDecimal>),
Array(Array),
Vector(Option<Vector>),
}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>)
Enum(Option<Arc<Enum>>)
In most cases, the values of enums are staticly known, so we use Arc to save space
Bytes(Option<Vec<u8>>)
Json(Option<Value>)
Available on crate feature
with-json only.ChronoDate(Option<NaiveDate>)
Available on crate feature
with-chrono only.ChronoTime(Option<NaiveTime>)
Available on crate feature
with-chrono only.ChronoDateTime(Option<NaiveDateTime>)
Available on crate feature
with-chrono only.ChronoDateTimeUtc(Option<DateTime<Utc>>)
Available on crate feature
with-chrono only.ChronoDateTimeLocal(Option<DateTime<Local>>)
Available on crate feature
with-chrono only.ChronoDateTimeWithTimeZone(Option<DateTime<FixedOffset>>)
Available on crate feature
with-chrono only.TimeDate(Option<Date>)
Available on crate feature
with-time only.TimeTime(Option<Time>)
Available on crate feature
with-time only.TimeDateTime(Option<PrimitiveDateTime>)
Available on crate feature
with-time only.TimeDateTimeWithTimeZone(Option<OffsetDateTime>)
Available on crate feature
with-time only.Uuid(Option<Uuid>)
Available on crate feature
with-uuid only.Decimal(Option<Decimal>)
Available on crate feature
with-rust_decimal only.BigDecimal(Option<BigDecimal>)
Available on crate feature
with-bigdecimal only.Array(Array)
Available on crate feature
postgres-array only.Vector(Option<Vector>)
Available on crate feature
postgres-vector only.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 is_big_decimal(&self) -> bool
pub fn as_ref_big_decimal(&self) -> Option<&BigDecimal>
pub fn big_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)));Trait Implementationsยง
Sourceยงimpl From<BigDecimal> for Value
impl From<BigDecimal> for Value
Sourceยงfn from(x: BigDecimal) -> Value
fn from(x: BigDecimal) -> Value
Converts to this type from the input type.
Sourceยงimpl From<ChronoUnixTimestamp> for Value
Available on crate feature with-chrono only.
impl From<ChronoUnixTimestamp> for Value
Available on crate feature
with-chrono only.Sourceยงfn from(source: ChronoUnixTimestamp) -> Self
fn from(source: ChronoUnixTimestamp) -> Self
Converts to this type from the input type.
Sourceยงimpl From<ChronoUnixTimestampMillis> for Value
Available on crate feature with-chrono only.
impl From<ChronoUnixTimestampMillis> for Value
Available on crate feature
with-chrono only.Sourceยง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<T> From<JsonField<T>> for Valuewhere
T: Serialize,
Available on crate feature with-json only.
impl<T> From<JsonField<T>> for Valuewhere
T: Serialize,
Available on crate feature
with-json only.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<PermissionId> for Value
Available on crate feature rbac only.
impl From<PermissionId> for Value
Available on crate feature
rbac only.Sourceยงfn from(source: PermissionId) -> Self
fn from(source: PermissionId) -> Self
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.
Sourceยงimpl From<ResourceId> for Value
Available on crate feature rbac only.
impl From<ResourceId> for Value
Available on crate feature
rbac only.Sourceยงfn from(source: ResourceId) -> Self
fn from(source: ResourceId) -> Self
Converts to this type from the input type.
Sourceยงimpl From<TimeUnixTimestamp> for Value
Available on crate feature with-time only.
impl From<TimeUnixTimestamp> for Value
Available on crate feature
with-time only.Sourceยงfn from(source: TimeUnixTimestamp) -> Self
fn from(source: TimeUnixTimestamp) -> Self
Converts to this type from the input type.
Sourceยงimpl From<TimeUnixTimestampMillis> for Value
Available on crate feature with-time only.
impl From<TimeUnixTimestampMillis> for Value
Available on crate feature
with-time only.Sourceยง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<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 more