diesel::prelude

Trait PgTextExpressionMethods

Source
pub trait PgTextExpressionMethods: Expression + Sized {
    // Provided methods
    fn ilike<T>(self, other: T) -> ILike<Self, T>
       where T: AsExpression<Text> { ... }
    fn not_ilike<T>(self, other: T) -> NotILike<Self, T>
       where T: AsExpression<Text> { ... }
    fn similar_to<T>(self, other: T) -> SimilarTo<Self, T>
       where T: AsExpression<Text> { ... }
    fn not_similar_to<T>(self, other: T) -> NotSimilarTo<Self, T>
       where T: AsExpression<Text> { ... }
}
Available on crate feature postgres_backend only.
Expand description

PostgreSQL specific methods present on text expressions.

Provided Methods§

Source

fn ilike<T>(self, other: T) -> ILike<Self, T>
where T: AsExpression<Text>,

Creates a PostgreSQL ILIKE expression

§Example
let starts_with_s = animals
    .select(species)
    .filter(name.ilike("s%").or(species.ilike("s%")))
    .get_results::<String>(connection)?;
assert_eq!(vec!["spider"], starts_with_s);
Source

fn not_ilike<T>(self, other: T) -> NotILike<Self, T>
where T: AsExpression<Text>,

Creates a PostgreSQL NOT ILIKE expression

§Example
let doesnt_start_with_s = animals
    .select(species)
    .filter(name.not_ilike("s%").and(species.not_ilike("s%")))
    .get_results::<String>(connection)?;
assert_eq!(vec!["dog"], doesnt_start_with_s);
Source

fn similar_to<T>(self, other: T) -> SimilarTo<Self, T>
where T: AsExpression<Text>,

Creates a PostgreSQL SIMILAR TO expression

§Example
let starts_with_s = animals
    .select(species)
    .filter(name.similar_to("s%").or(species.similar_to("s%")))
    .get_results::<String>(connection)?;
assert_eq!(vec!["spider"], starts_with_s);
Source

fn not_similar_to<T>(self, other: T) -> NotSimilarTo<Self, T>
where T: AsExpression<Text>,

Creates a PostgreSQL NOT SIMILAR TO expression

§Example
let doesnt_start_with_s = animals
    .select(species)
    .filter(name.not_similar_to("s%").and(species.not_similar_to("s%")))
    .get_results::<String>(connection)?;
assert_eq!(vec!["dog"], doesnt_start_with_s);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T> PgTextExpressionMethods for T
where T: Expression, T::SqlType: TextOrNullableText,