Trait diesel::prelude::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§
sourcefn ilike<T>(self, other: T) -> ILike<Self, T>where
T: AsExpression<Text>,
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);
sourcefn not_ilike<T>(self, other: T) -> NotILike<Self, T>where
T: AsExpression<Text>,
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);
sourcefn similar_to<T>(self, other: T) -> SimilarTo<Self, T>where
T: AsExpression<Text>,
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);
sourcefn not_similar_to<T>(self, other: T) -> NotSimilarTo<Self, T>where
T: AsExpression<Text>,
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);