diesel::sql_types

Struct Numeric

Source
pub struct Numeric;
Expand description

The arbitrary precision numeric SQL type.

This type is only supported on PostgreSQL and MySQL. On SQLite, Double should be used instead.

§ToSql impls

§FromSql impls

Trait Implementations§

Source§

impl Add for Numeric

Source§

type Rhs = Numeric

The SQL type which can be added to this one
Source§

type Output = Numeric

The SQL type of the result of adding Rhs to Self
Source§

impl<'__expr, '__expr2> AsExpression<Numeric> for &'__expr2 &'__expr BigDecimal

Available on crate feature numeric only.
Source§

type Expression = Bound<Numeric, &'__expr2 &'__expr BigDecimal>

The expression being returned
Source§

fn as_expression(self) -> Self::Expression

Perform the conversion
Source§

impl<'__expr, '__expr2> AsExpression<Numeric> for &'__expr2 &'__expr PgNumeric

Available on crate feature postgres_backend only.
Source§

type Expression = Bound<Numeric, &'__expr2 &'__expr PgNumeric>

The expression being returned
Source§

fn as_expression(self) -> Self::Expression

Perform the conversion
Source§

impl<'__expr> AsExpression<Numeric> for &'__expr BigDecimal

Available on crate feature numeric only.
Source§

type Expression = Bound<Numeric, &'__expr BigDecimal>

The expression being returned
Source§

fn as_expression(self) -> Self::Expression

Perform the conversion
Source§

impl<'__expr> AsExpression<Numeric> for &'__expr PgNumeric

Available on crate feature postgres_backend only.
Source§

type Expression = Bound<Numeric, &'__expr PgNumeric>

The expression being returned
Source§

fn as_expression(self) -> Self::Expression

Perform the conversion
Source§

impl AsExpression<Numeric> for BigDecimal

Available on crate feature numeric only.
Source§

type Expression = Bound<Numeric, BigDecimal>

The expression being returned
Source§

fn as_expression(self) -> Self::Expression

Perform the conversion
Source§

impl AsExpression<Numeric> for PgNumeric

Available on crate feature postgres_backend only.
Source§

type Expression = Bound<Numeric, PgNumeric>

The expression being returned
Source§

fn as_expression(self) -> Self::Expression

Perform the conversion
Source§

impl Clone for Numeric

Source§

fn clone(&self) -> Numeric

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 Numeric

Source§

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

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

impl Default for Numeric

Source§

fn default() -> Numeric

Returns the “default value” for a type. Read more
Source§

impl Div for Numeric

Source§

type Rhs = Numeric

The SQL type which this one can be divided by
Source§

type Output = Numeric

The SQL type of the result of dividing Self by Rhs
Source§

impl Foldable for Numeric

Source§

type Sum = Nullable<Numeric>

The SQL type of sum(this_type)
Source§

type Avg = Nullable<Numeric>

The SQL type of avg(this_type)
Source§

impl FromSql<Numeric, Mysql> for BigDecimal

Available on crate features numeric and mysql_backend only.
Source§

fn from_sql(value: MysqlValue<'_>) -> Result<Self>

See the trait documentation.
Source§

fn from_nullable_sql(bytes: Option<DB::RawValue<'_>>) -> Result<Self>

A specialized variant of from_sql for handling null values. Read more
Source§

impl FromSql<Numeric, Pg> for BigDecimal

Available on crate features numeric and postgres_backend only.
Source§

fn from_sql(numeric: PgValue<'_>) -> Result<Self>

See the trait documentation.
Source§

fn from_nullable_sql(bytes: Option<DB::RawValue<'_>>) -> Result<Self>

A specialized variant of from_sql for handling null values. Read more
Source§

impl FromSql<Numeric, Pg> for PgNumeric

Available on crate feature postgres_backend only.
Source§

fn from_sql(bytes: PgValue<'_>) -> Result<Self>

See the trait documentation.
Source§

fn from_nullable_sql(bytes: Option<DB::RawValue<'_>>) -> Result<Self>

A specialized variant of from_sql for handling null values. Read more
Source§

impl FromSql<Numeric, Sqlite> for BigDecimal

Available on crate features numeric and sqlite only.
Source§

fn from_sql(bytes: SqliteValue<'_, '_, '_>) -> Result<Self>

See the trait documentation.
Source§

fn from_nullable_sql(bytes: Option<DB::RawValue<'_>>) -> Result<Self>

A specialized variant of from_sql for handling null values. Read more
Source§

impl HasSqlType<Numeric> for Mysql

Source§

fn metadata(_: &mut ()) -> MysqlType

Fetch the metadata for the given type Read more
Source§

impl HasSqlType<Numeric> for Pg

Source§

fn metadata(_: &mut Self::MetadataLookup) -> PgTypeMetadata

Fetch the metadata for the given type Read more
Source§

impl HasSqlType<Numeric> for Sqlite

Source§

fn metadata(_: &mut ()) -> SqliteType

Fetch the metadata for the given type Read more
Source§

impl Mul for Numeric

Source§

type Rhs = Numeric

The SQL type which this can be multiplied by
Source§

type Output = Numeric

The SQL type of the result of multiplying Self by Rhs
Source§

impl QueryId for Numeric

Source§

const HAS_STATIC_QUERY_ID: bool = true

Can the SQL generated by Self be uniquely identified by its type? Read more
Source§

type QueryId = Numeric

A type which uniquely represents Self in a SQL query. Read more
Source§

fn query_id() -> Option<TypeId>

Returns the type id of Self::QueryId if Self::HAS_STATIC_QUERY_ID. Returns None otherwise. Read more
Source§

impl SqlType for Numeric

Source§

type IsNull = NotNull

Is this type nullable? Read more
Source§

impl Sub for Numeric

Source§

type Rhs = Numeric

The SQL type which can be subtracted from this one
Source§

type Output = Numeric

The SQL type of the result of subtracting Rhs from Self
Source§

impl ToSql<Numeric, Mysql> for BigDecimal

Available on crate features numeric and mysql_backend only.
Source§

fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, Mysql>) -> Result

See the trait documentation.
Source§

impl ToSql<Numeric, Pg> for BigDecimal

Available on crate features numeric and postgres_backend only.
Source§

fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, Pg>) -> Result

See the trait documentation.
Source§

impl ToSql<Numeric, Pg> for PgNumeric

Available on crate feature postgres_backend only.
Source§

fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, Pg>) -> Result

See the trait documentation.
Source§

impl Copy for Numeric

Source§

impl SingleValue for Numeric

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, dst: *mut T)

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

impl<ST, U, DB> CompatibleType<U, DB> for ST
where DB: Backend, ST: SqlType + SingleValue, U: FromSqlRow<ST, DB>,

Source§

type SqlType = ST

Available on crate feature i-implement-a-third-party-backend-and-opt-into-breaking-changes only.
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
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> IntoNotNullable for T
where T: SqlType<IsNull = NotNull>,

Source§

type NotNullable = T

The not nullable representation of this type. Read more
Source§

impl<T> IntoNullable for T
where T: SqlType<IsNull = NotNull> + SingleValue,

Source§

type Nullable = Nullable<T>

The nullable representation of this type. Read more
Source§

impl<T> IntoSql for T

Source§

fn into_sql<T>(self) -> AsExprOf<Self, T>

Convert self to an expression for Diesel’s query builder. Read more
Source§

fn as_sql<'a, T>(&'a self) -> AsExprOf<&'a Self, T>
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
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, 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T

Source§

impl<ST> TypedExpressionType for ST
where ST: SingleValue,