[][src]Trait diesel::expression::AsExpression

pub trait AsExpression<T> {
    type Expression: Expression<SqlType = T>;
    fn as_expression(self) -> Self::Expression;
}

Converts a type to its representation for use in Diesel's query builder.

This trait is used directly. Apps should typically use IntoSql instead.

Implementations of this trait will generally do one of 3 things:

Deriving

This trait can be automatically derived for any type which implements ToSql. The type must be annotated with #[sql_type = "SomeType"]. If that annotation appears multiple times, implementations will be generated for each one of them.

This will generate the following impls:

If your type is unsized, you can specify this by adding the annotation #[diesel(not_sized)]. This will skip the impls for non-reference types.

Associated Types

The expression being returned

Required Methods

Perform the conversion

Implementations on Foreign Types

impl<'expr> AsExpression<Timestamp> for &'expr SystemTime
[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr SystemTime
[src]

impl<'expr2, 'expr> AsExpression<Timestamp> for &'expr2 &'expr SystemTime
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Timestamp>> for &'expr2 &'expr SystemTime
[src]

impl AsExpression<Timestamp> for SystemTime
[src]

impl AsExpression<Nullable<Timestamp>> for SystemTime
[src]

impl<'expr> AsExpression<Date> for &'expr NaiveDate
[src]

impl<'expr> AsExpression<Nullable<Date>> for &'expr NaiveDate
[src]

impl<'expr2, 'expr> AsExpression<Date> for &'expr2 &'expr NaiveDate
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Date>> for &'expr2 &'expr NaiveDate
[src]

impl AsExpression<Date> for NaiveDate
[src]

impl AsExpression<Nullable<Date>> for NaiveDate
[src]

impl<'expr> AsExpression<Time> for &'expr NaiveTime
[src]

impl<'expr> AsExpression<Nullable<Time>> for &'expr NaiveTime
[src]

impl<'expr2, 'expr> AsExpression<Time> for &'expr2 &'expr NaiveTime
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Time>> for &'expr2 &'expr NaiveTime
[src]

impl AsExpression<Time> for NaiveTime
[src]

impl AsExpression<Nullable<Time>> for NaiveTime
[src]

impl<'expr> AsExpression<Timestamp> for &'expr NaiveDateTime
[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr NaiveDateTime
[src]

impl<'expr2, 'expr> AsExpression<Timestamp> for &'expr2 &'expr NaiveDateTime
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Timestamp>> for &'expr2 &'expr NaiveDateTime
[src]

impl AsExpression<Timestamp> for NaiveDateTime
[src]

impl AsExpression<Nullable<Timestamp>> for NaiveDateTime
[src]

impl<T, ST> AsExpression<Nullable<ST>> for Option<T> where
    ST: NotNull
[src]

impl<'a, T, ST> AsExpression<Nullable<ST>> for &'a Option<T> where
    ST: NotNull
[src]

impl<'expr> AsExpression<Bool> for &'expr bool
[src]

impl<'expr> AsExpression<Nullable<Bool>> for &'expr bool
[src]

impl<'expr2, 'expr> AsExpression<Bool> for &'expr2 &'expr bool
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Bool>> for &'expr2 &'expr bool
[src]

impl AsExpression<Bool> for bool
[src]

impl AsExpression<Nullable<Bool>> for bool
[src]

impl<'expr> AsExpression<SmallInt> for &'expr i16
[src]

impl<'expr> AsExpression<Nullable<SmallInt>> for &'expr i16
[src]

impl<'expr2, 'expr> AsExpression<SmallInt> for &'expr2 &'expr i16
[src]

impl<'expr2, 'expr> AsExpression<Nullable<SmallInt>> for &'expr2 &'expr i16
[src]

impl AsExpression<SmallInt> for i16
[src]

impl AsExpression<Nullable<SmallInt>> for i16
[src]

impl<'expr> AsExpression<Integer> for &'expr i32
[src]

impl<'expr> AsExpression<Nullable<Integer>> for &'expr i32
[src]

impl<'expr2, 'expr> AsExpression<Integer> for &'expr2 &'expr i32
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Integer>> for &'expr2 &'expr i32
[src]

impl AsExpression<Integer> for i32
[src]

impl AsExpression<Nullable<Integer>> for i32
[src]

impl<'expr> AsExpression<BigInt> for &'expr i64
[src]

impl<'expr> AsExpression<Nullable<BigInt>> for &'expr i64
[src]

impl<'expr2, 'expr> AsExpression<BigInt> for &'expr2 &'expr i64
[src]

impl<'expr2, 'expr> AsExpression<Nullable<BigInt>> for &'expr2 &'expr i64
[src]

impl AsExpression<BigInt> for i64
[src]

impl AsExpression<Nullable<BigInt>> for i64
[src]

impl<'expr> AsExpression<Float> for &'expr f32
[src]

impl<'expr> AsExpression<Nullable<Float>> for &'expr f32
[src]

impl<'expr2, 'expr> AsExpression<Float> for &'expr2 &'expr f32
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Float>> for &'expr2 &'expr f32
[src]

impl AsExpression<Float> for f32
[src]

impl AsExpression<Nullable<Float>> for f32
[src]

impl<'expr> AsExpression<Double> for &'expr f64
[src]

impl<'expr> AsExpression<Nullable<Double>> for &'expr f64
[src]

impl<'expr2, 'expr> AsExpression<Double> for &'expr2 &'expr f64
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Double>> for &'expr2 &'expr f64
[src]

impl AsExpression<Double> for f64
[src]

impl AsExpression<Nullable<Double>> for f64
[src]

impl<'expr> AsExpression<Text> for &'expr String
[src]

impl<'expr> AsExpression<Nullable<Text>> for &'expr String
[src]

impl<'expr2, 'expr> AsExpression<Text> for &'expr2 &'expr String
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Text>> for &'expr2 &'expr String
[src]

impl AsExpression<Text> for String
[src]

impl AsExpression<Nullable<Text>> for String
[src]

impl<'expr> AsExpression<Date> for &'expr String
[src]

impl<'expr> AsExpression<Nullable<Date>> for &'expr String
[src]

impl<'expr2, 'expr> AsExpression<Date> for &'expr2 &'expr String
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Date>> for &'expr2 &'expr String
[src]

impl AsExpression<Date> for String
[src]

impl AsExpression<Nullable<Date>> for String
[src]

impl<'expr> AsExpression<Time> for &'expr String
[src]

impl<'expr> AsExpression<Nullable<Time>> for &'expr String
[src]

impl<'expr2, 'expr> AsExpression<Time> for &'expr2 &'expr String
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Time>> for &'expr2 &'expr String
[src]

impl AsExpression<Time> for String
[src]

impl AsExpression<Nullable<Time>> for String
[src]

impl<'expr> AsExpression<Timestamp> for &'expr String
[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr String
[src]

impl<'expr2, 'expr> AsExpression<Timestamp> for &'expr2 &'expr String
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Timestamp>> for &'expr2 &'expr String
[src]

impl AsExpression<Timestamp> for String
[src]

impl AsExpression<Nullable<Timestamp>> for String
[src]

impl<'expr> AsExpression<Text> for &'expr str
[src]

impl<'expr> AsExpression<Nullable<Text>> for &'expr str
[src]

impl<'expr2, 'expr> AsExpression<Text> for &'expr2 &'expr str
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Text>> for &'expr2 &'expr str
[src]

impl<'expr> AsExpression<Date> for &'expr str
[src]

impl<'expr> AsExpression<Nullable<Date>> for &'expr str
[src]

impl<'expr2, 'expr> AsExpression<Date> for &'expr2 &'expr str
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Date>> for &'expr2 &'expr str
[src]

impl<'expr> AsExpression<Time> for &'expr str
[src]

impl<'expr> AsExpression<Nullable<Time>> for &'expr str
[src]

impl<'expr2, 'expr> AsExpression<Time> for &'expr2 &'expr str
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Time>> for &'expr2 &'expr str
[src]

impl<'expr> AsExpression<Timestamp> for &'expr str
[src]

impl<'expr> AsExpression<Nullable<Timestamp>> for &'expr str
[src]

impl<'expr2, 'expr> AsExpression<Timestamp> for &'expr2 &'expr str
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Timestamp>> for &'expr2 &'expr str
[src]

impl<'expr> AsExpression<Binary> for &'expr Vec<u8>
[src]

impl<'expr> AsExpression<Nullable<Binary>> for &'expr Vec<u8>
[src]

impl<'expr2, 'expr> AsExpression<Binary> for &'expr2 &'expr Vec<u8>
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Binary>> for &'expr2 &'expr Vec<u8>
[src]

impl AsExpression<Binary> for Vec<u8>
[src]

impl AsExpression<Nullable<Binary>> for Vec<u8>
[src]

impl<'expr> AsExpression<Binary> for &'expr [u8]
[src]

impl<'expr> AsExpression<Nullable<Binary>> for &'expr [u8]
[src]

impl<'expr2, 'expr> AsExpression<Binary> for &'expr2 &'expr [u8]
[src]

impl<'expr2, 'expr> AsExpression<Nullable<Binary>> for &'expr2 &'expr [u8]
[src]

impl<'a, T: ?Sized, ST> AsExpression<ST> for Cow<'a, T> where
    T: 'a + ToOwned,
    Bound<ST, Cow<'a, T>>: Expression<SqlType = ST>, 
[src]

impl<'a, 'b, T: ?Sized, ST> AsExpression<ST> for &'b Cow<'a, T> where
    T: 'a + ToOwned,
    Bound<ST, &'b T>: Expression<SqlType = ST>, 
[src]

Implementors

impl<T: Expression> AsExpression<<T as Expression>::SqlType> for T
[src]