Trait diesel::prelude::PgBinaryExpressionMethods
source · pub trait PgBinaryExpressionMethods: Expression + Sized {
// Provided methods
fn concat<T>(self, other: T) -> Concat<Self, T>
where Self::SqlType: SqlType,
T: AsExpression<Self::SqlType> { ... }
fn like<T>(self, other: T) -> Like<Self, T>
where Self::SqlType: SqlType,
T: AsExpression<Self::SqlType> { ... }
fn not_like<T>(self, other: T) -> NotLike<Self, T>
where Self::SqlType: SqlType,
T: AsExpression<Self::SqlType> { ... }
}
Expand description
PostgreSQL specific methods present on Binary expressions.
Provided Methods§
sourcefn concat<T>(self, other: T) -> Concat<Self, T>
fn concat<T>(self, other: T) -> Concat<Self, T>
Concatenates two PostgreSQL byte arrays using the ||
operator.
§Example
let names = users.select(name.concat(" the Greatest".as_bytes())).load(connection);
let expected_names = vec![
b"Sean the Greatest".to_vec(),
b"Tess the Greatest".to_vec()
];
assert_eq!(Ok(expected_names), names);
// If the value is nullable, the output will be nullable
let names = users.select(hair_color.concat("ish".as_bytes())).load(connection);
let expected_names = vec![
Some(b"Greenish".to_vec()),
None,
];
assert_eq!(Ok(expected_names), names);
sourcefn like<T>(self, other: T) -> Like<Self, T>
fn like<T>(self, other: T) -> Like<Self, T>
Creates a PostgreSQL binary LIKE
expression.
This method is case sensitive. There is no case-insensitive equivalent as of PostgreSQL 14.
§Examples
let starts_with_s = users
.select(name)
.filter(name.like(b"S%".to_vec()))
.load(connection);
assert_eq!(Ok(vec![b"Sean".to_vec()]), starts_with_s);
sourcefn not_like<T>(self, other: T) -> NotLike<Self, T>
fn not_like<T>(self, other: T) -> NotLike<Self, T>
Creates a PostgreSQL binary LIKE
expression.
This method is case sensitive. There is no case-insensitive equivalent as of PostgreSQL 14.
§Examples
let starts_with_s = users
.select(name)
.filter(name.not_like(b"S%".to_vec()))
.load(connection);
assert_eq!(Ok(vec![b"Tess".to_vec()]), starts_with_s);
Object Safety§
This trait is not object safe.