pub struct Expr { /* private fields */ }Expand description
A SQL expression (for WHERE, HAVING, etc.).
Implementations§
Source§impl Expr
impl Expr
Sourcepub fn from_fragment(fragment: SqlFragment) -> Self
pub fn from_fragment(fragment: SqlFragment) -> Self
Create an expression from a SQL fragment.
Sourcepub fn qualified_column(table: &str, column: &str) -> Self
pub fn qualified_column(table: &str, column: &str) -> Self
Create a qualified column reference (table.column).
Sourcepub fn eq(column: &str, value: impl Into<SqlParam>) -> Self
pub fn eq(column: &str, value: impl Into<SqlParam>) -> Self
Create an equality expression: column = $1
Sourcepub fn neq(column: &str, value: impl Into<SqlParam>) -> Self
pub fn neq(column: &str, value: impl Into<SqlParam>) -> Self
Create a not-equal expression: column <> $1
Sourcepub fn gt(column: &str, value: impl Into<SqlParam>) -> Self
pub fn gt(column: &str, value: impl Into<SqlParam>) -> Self
Create a greater-than expression: column > $1
Sourcepub fn gte(column: &str, value: impl Into<SqlParam>) -> Self
pub fn gte(column: &str, value: impl Into<SqlParam>) -> Self
Create a greater-than-or-equal expression: column >= $1
Sourcepub fn lt(column: &str, value: impl Into<SqlParam>) -> Self
pub fn lt(column: &str, value: impl Into<SqlParam>) -> Self
Create a less-than expression: column < $1
Sourcepub fn lte(column: &str, value: impl Into<SqlParam>) -> Self
pub fn lte(column: &str, value: impl Into<SqlParam>) -> Self
Create a less-than-or-equal expression: column <= $1
Sourcepub fn like(column: &str, pattern: impl Into<SqlParam>) -> Self
pub fn like(column: &str, pattern: impl Into<SqlParam>) -> Self
Create a LIKE expression: column LIKE $1
Sourcepub fn ilike(column: &str, pattern: impl Into<SqlParam>) -> Self
pub fn ilike(column: &str, pattern: impl Into<SqlParam>) -> Self
Create an ILIKE expression: column ILIKE $1
Sourcepub fn is_not_null(column: &str) -> Self
pub fn is_not_null(column: &str) -> Self
Create an IS NOT NULL expression: column IS NOT NULL
Sourcepub fn in_list(column: &str, values: Vec<SqlParam>) -> Self
pub fn in_list(column: &str, values: Vec<SqlParam>) -> Self
Create an IN expression: column IN ($1, $2, …)
Sourcepub fn contains(column: &str, value: impl Into<SqlParam>) -> Self
pub fn contains(column: &str, value: impl Into<SqlParam>) -> Self
Create a contains expression: column @> $1
Sourcepub fn contained_by(column: &str, value: impl Into<SqlParam>) -> Self
pub fn contained_by(column: &str, value: impl Into<SqlParam>) -> Self
Create a contained-by expression: column <@ $1
Sourcepub fn overlaps(column: &str, value: impl Into<SqlParam>) -> Self
pub fn overlaps(column: &str, value: impl Into<SqlParam>) -> Self
Create an overlap expression: column && $1
Sourcepub fn fts(
column: &str,
query: impl Into<SqlParam>,
language: Option<&str>,
) -> Self
pub fn fts( column: &str, query: impl Into<SqlParam>, language: Option<&str>, ) -> Self
Create a full-text search expression: column @@ to_tsquery($1)
Sourcepub fn and_all(exprs: impl IntoIterator<Item = Expr>) -> Self
pub fn and_all(exprs: impl IntoIterator<Item = Expr>) -> Self
Combine multiple expressions with AND.
Sourcepub fn or_all(exprs: impl IntoIterator<Item = Expr>) -> Self
pub fn or_all(exprs: impl IntoIterator<Item = Expr>) -> Self
Combine multiple expressions with OR.
Sourcepub fn into_fragment(self) -> SqlFragment
pub fn into_fragment(self) -> SqlFragment
Convert to a SQL fragment.