Struct DeleteStatement
pub struct DeleteStatement { /* private fields */ }Expand description
Delete existing rows from the table
§Examples
use sea_query::{tests_cfg::*, *};
let query = Query::delete()
.from_table(Glyph::Table)
.cond_where(any![
Expr::col(Glyph::Id).lt(1),
Expr::col(Glyph::Id).gt(10),
])
.to_owned();
assert_eq!(
query.to_string(MsSqlQueryBuilder),
r#"DELETE FROM [glyph] WHERE [id] < 1 OR [id] > 10"#
);
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"DELETE FROM `glyph` WHERE `id` < 1 OR `id` > 10"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" < 1 OR "id" > 10"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" < 1 OR "id" > 10"#
);Implementations§
§impl DeleteStatement
impl DeleteStatement
pub fn new() -> Self
pub fn new() -> Self
Construct a new DeleteStatement
pub fn take(&mut self) -> Self
pub fn from_table<T>(&mut self, tbl_ref: T) -> &mut Selfwhere
T: IntoTableRef,
pub fn from_table<T>(&mut self, tbl_ref: T) -> &mut Selfwhere
T: IntoTableRef,
Specify which table to delete from.
§Examples
use sea_query::{audit::*, tests_cfg::*, *};
let query = Query::delete()
.from_table(Glyph::Table)
.and_where(Expr::col(Glyph::Id).eq(1))
.to_owned();
assert_eq!(
query.to_string(MsSqlQueryBuilder),
r#"DELETE FROM [glyph] WHERE [id] = 1"#
);
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"DELETE FROM `glyph` WHERE `id` = 1"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" = 1"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" = 1"#
);
assert_eq!(
query.audit_unwrap().deleted_tables(),
[Glyph::Table.into_iden()]
);
assert_eq!(query.audit_unwrap().selected_tables(), []);pub fn returning(&mut self, returning_cols: ReturningClause) -> &mut Self
pub fn returning(&mut self, returning_cols: ReturningClause) -> &mut Self
RETURNING expressions.
§Examples
use sea_query::{audit::*, tests_cfg::*, *};
let query = Query::delete()
.from_table(Glyph::Table)
.and_where(Expr::col(Glyph::Id).eq(1))
.returning(Query::returning().columns([Glyph::Id]))
.to_owned();
assert_eq!(
query.to_string(MsSqlQueryBuilder),
r#"DELETE FROM [glyph] OUTPUT [id] WHERE [id] = 1"#
);
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"DELETE FROM `glyph` WHERE `id` = 1"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" = 1 RETURNING "id""#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" = 1 RETURNING "id""#
);
assert_eq!(
query.audit_unwrap().deleted_tables(),
[Glyph::Table.into_iden()]
);
assert_eq!(
query.audit_unwrap().selected_tables(),
[Glyph::Table.into_iden()]
);pub fn returning_col<C>(&mut self, col: C) -> &mut Selfwhere
C: IntoColumnRef,
pub fn returning_col<C>(&mut self, col: C) -> &mut Selfwhere
C: IntoColumnRef,
RETURNING expressions for a column.
§Examples
use sea_query::{tests_cfg::*, *};
let query = Query::delete()
.from_table(Glyph::Table)
.and_where(Expr::col(Glyph::Id).eq(1))
.returning_col(Glyph::Id)
.to_owned();
assert_eq!(
query.to_string(MsSqlQueryBuilder),
r#"DELETE FROM [glyph] OUTPUT [id] WHERE [id] = 1"#
);
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"DELETE FROM `glyph` WHERE `id` = 1"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" = 1 RETURNING "id""#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" = 1 RETURNING "id""#
);pub fn returning_all(&mut self) -> &mut Self
pub fn returning_all(&mut self) -> &mut Self
RETURNING expressions all columns.
§Examples
use sea_query::{tests_cfg::*, *};
let query = Query::delete()
.from_table(Glyph::Table)
.and_where(Expr::col(Glyph::Id).eq(1))
.returning_all()
.to_owned();
assert_eq!(
query.to_string(MsSqlQueryBuilder),
r#"DELETE FROM [glyph] OUTPUT * WHERE [id] = 1"#
);
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"DELETE FROM `glyph` WHERE `id` = 1"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" = 1 RETURNING *"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"DELETE FROM "glyph" WHERE "id" = 1 RETURNING *"#
);pub fn with(self, clause: WithClause) -> WithQuery
pub fn with(self, clause: WithClause) -> WithQuery
Create a WithQuery by specifying a WithClause to execute this query with.
§Examples
use sea_query::{IntoCondition, IntoIden, audit::*, tests_cfg::*, *};
let select = SelectStatement::new()
.columns([Glyph::Id])
.from(Glyph::Table)
.and_where(Expr::col(Glyph::Image).like("0%"))
.to_owned();
let cte = CommonTableExpression::new()
.query(select)
.column(Glyph::Id)
.table_name("cte")
.to_owned();
let with_clause = WithClause::new().cte(cte).to_owned();
let update = DeleteStatement::new()
.from_table(Glyph::Table)
.and_where(Expr::col(Glyph::Id).in_subquery(SelectStatement::new().column(Glyph::Id).from("cte").to_owned()))
.to_owned();
let query = update.with(with_clause);
assert_eq!(
query.to_string(MsSqlQueryBuilder),
r#"WITH [cte] ([id]) AS (SELECT [id] FROM [glyph] WHERE [image] LIKE '0%') DELETE FROM [glyph] WHERE [id] IN (SELECT [id] FROM [cte])"#
);
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"WITH `cte` (`id`) AS (SELECT `id` FROM `glyph` WHERE `image` LIKE '0%') DELETE FROM `glyph` WHERE `id` IN (SELECT `id` FROM `cte`)"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"WITH "cte" ("id") AS (SELECT "id" FROM "glyph" WHERE "image" LIKE '0%') DELETE FROM "glyph" WHERE "id" IN (SELECT "id" FROM "cte")"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"WITH "cte" ("id") AS (SELECT "id" FROM "glyph" WHERE "image" LIKE '0%') DELETE FROM "glyph" WHERE "id" IN (SELECT "id" FROM "cte")"#
);
assert_eq!(
query.audit_unwrap().deleted_tables(),
[Glyph::Table.into_iden()]
);
assert_eq!(
query.audit_unwrap().selected_tables(),
[Glyph::Table.into_iden()]
);pub fn with_cte<C: Into<WithClause>>(&mut self, clause: C) -> &mut Self
pub fn with_cte<C: Into<WithClause>>(&mut self, clause: C) -> &mut Self
Create a Common Table Expression by specifying a CommonTableExpression or WithClause to execute this query with.
§Examples
use sea_query::{IntoCondition, IntoIden, audit::*, tests_cfg::*, *};
let select = SelectStatement::new()
.columns([Glyph::Id])
.from(Glyph::Table)
.and_where(Expr::col(Glyph::Image).like("0%"))
.to_owned();
let cte = CommonTableExpression::new()
.query(select)
.column(Glyph::Id)
.table_name("cte")
.to_owned();
let with_clause = WithClause::new().cte(cte).to_owned();
let query = DeleteStatement::new()
.with_cte(with_clause)
.from_table(Glyph::Table)
.and_where(Expr::col(Glyph::Id).in_subquery(SelectStatement::new().column(Glyph::Id).from("cte").to_owned()))
.to_owned();
assert_eq!(
query.to_string(MysqlQueryBuilder),
r#"WITH `cte` (`id`) AS (SELECT `id` FROM `glyph` WHERE `image` LIKE '0%') DELETE FROM `glyph` WHERE `id` IN (SELECT `id` FROM `cte`)"#
);
assert_eq!(
query.to_string(PostgresQueryBuilder),
r#"WITH "cte" ("id") AS (SELECT "id" FROM "glyph" WHERE "image" LIKE '0%') DELETE FROM "glyph" WHERE "id" IN (SELECT "id" FROM "cte")"#
);
assert_eq!(
query.to_string(SqliteQueryBuilder),
r#"WITH "cte" ("id") AS (SELECT "id" FROM "glyph" WHERE "image" LIKE '0%') DELETE FROM "glyph" WHERE "id" IN (SELECT "id" FROM "cte")"#
);
assert_eq!(
query.audit_unwrap().deleted_tables(),
[Glyph::Table.into_iden()]
);
assert_eq!(
query.audit_unwrap().selected_tables(),
[Glyph::Table.into_iden()]
);§impl DeleteStatement
impl DeleteStatement
pub fn build_collect_any_into(
&self,
query_builder: &impl QueryBuilder,
sql: &mut impl SqlWriter,
)
pub fn build_collect_any_into( &self, query_builder: &impl QueryBuilder, sql: &mut impl SqlWriter, )
pub fn build_any(&self, query_builder: &impl QueryBuilder) -> (String, Values)
pub fn build_any(&self, query_builder: &impl QueryBuilder) -> (String, Values)
pub fn build_collect_any(
&self,
query_builder: &impl QueryBuilder,
sql: &mut impl SqlWriter,
) -> String
pub fn build_collect_any( &self, query_builder: &impl QueryBuilder, sql: &mut impl SqlWriter, ) -> String
§impl DeleteStatement
impl DeleteStatement
pub fn build_collect_into<T: QueryBuilder>(
&self,
query_builder: T,
sql: &mut impl SqlWriter,
)
pub fn build_collect_into<T: QueryBuilder>( &self, query_builder: T, sql: &mut impl SqlWriter, )
pub fn build_collect<T: QueryBuilder>(
&self,
query_builder: T,
sql: &mut impl SqlWriter,
) -> String
pub fn build_collect<T: QueryBuilder>( &self, query_builder: T, sql: &mut impl SqlWriter, ) -> String
pub fn build<T: QueryBuilder>(&self, query_builder: T) -> (String, Values)
pub fn build<T: QueryBuilder>(&self, query_builder: T) -> (String, Values)
pub fn to_string<T: QueryBuilder>(&self, query_builder: T) -> String
pub fn to_string<T: QueryBuilder>(&self, query_builder: T) -> String
§impl DeleteStatement
impl DeleteStatement
pub fn add_order_by(&mut self, order: OrderExpr) -> &mut Self
pub fn add_order_by(&mut self, order: OrderExpr) -> &mut Self
pub fn clear_order_by(&mut self) -> &mut Self
pub fn clear_order_by(&mut self) -> &mut Self
pub fn order_by<T>(&mut self, col: T, order: Order) -> &mut Selfwhere
T: IntoColumnRef,
pub fn order_by<T>(&mut self, col: T, order: Order) -> &mut Selfwhere
T: IntoColumnRef,
pub fn order_by_expr(&mut self, expr: Expr, order: Order) -> &mut Self
pub fn order_by_expr(&mut self, expr: Expr, order: Order) -> &mut Self
pub fn order_by_customs<I, T>(&mut self, cols: I) -> &mut Self
pub fn order_by_customs<I, T>(&mut self, cols: I) -> &mut Self
pub fn order_by_columns<I, T>(&mut self, cols: I) -> &mut Self
pub fn order_by_columns<I, T>(&mut self, cols: I) -> &mut Self
pub fn order_by_with_nulls<T>(
&mut self,
col: T,
order: Order,
nulls: NullOrdering,
) -> &mut Selfwhere
T: IntoColumnRef,
pub fn order_by_with_nulls<T>(
&mut self,
col: T,
order: Order,
nulls: NullOrdering,
) -> &mut Selfwhere
T: IntoColumnRef,
pub fn order_by_expr_with_nulls(
&mut self,
expr: Expr,
order: Order,
nulls: NullOrdering,
) -> &mut Self
pub fn order_by_expr_with_nulls( &mut self, expr: Expr, order: Order, nulls: NullOrdering, ) -> &mut Self
pub fn order_by_customs_with_nulls<I, T>(&mut self, cols: I) -> &mut Self
pub fn order_by_customs_with_nulls<I, T>(&mut self, cols: I) -> &mut Self
pub fn order_by_columns_with_nulls<I, T>(&mut self, cols: I) -> &mut Self
pub fn order_by_columns_with_nulls<I, T>(&mut self, cols: I) -> &mut Self
§impl DeleteStatement
impl DeleteStatement
pub fn and_or_where(&mut self, condition: LogicalChainOper) -> &mut Self
pub fn and_or_where(&mut self, condition: LogicalChainOper) -> &mut Self
pub fn cond_where<C>(&mut self, condition: C) -> &mut Selfwhere
C: IntoCondition,
pub fn cond_where<C>(&mut self, condition: C) -> &mut Selfwhere
C: IntoCondition,
pub fn and_where_option(&mut self, other: Option<Expr>) -> &mut Self
pub fn and_where_option(&mut self, other: Option<Expr>) -> &mut Self
Trait Implementations§
§impl Clone for DeleteStatement
impl Clone for DeleteStatement
§fn clone(&self) -> DeleteStatement
fn clone(&self) -> DeleteStatement
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl ConditionalStatement for DeleteStatement
impl ConditionalStatement for DeleteStatement
§fn cond_where<C>(&mut self, condition: C) -> &mut Selfwhere
C: IntoCondition,
fn cond_where<C>(&mut self, condition: C) -> &mut Selfwhere
C: IntoCondition,
Where condition, expressed with
any and all.
Calling cond_where multiple times will conjoin them.
Calling or_where after cond_where will panic. Read more§fn and_where_option(&mut self, other: Option<Expr>) -> &mut Self
fn and_where_option(&mut self, other: Option<Expr>) -> &mut Self
Optional and where, short hand for
if c.is_some() q.and_where(c). Read more§impl Debug for DeleteStatement
impl Debug for DeleteStatement
§impl Default for DeleteStatement
impl Default for DeleteStatement
§fn default() -> DeleteStatement
fn default() -> DeleteStatement
Returns the “default value” for a type. Read more
§impl From<DeleteStatement> for Expr
impl From<DeleteStatement> for Expr
§fn from(v: DeleteStatement) -> Self
fn from(v: DeleteStatement) -> Self
Converts to this type from the input type.
§impl From<DeleteStatement> for QueryStatement
impl From<DeleteStatement> for QueryStatement
§fn from(s: DeleteStatement) -> Self
fn from(s: DeleteStatement) -> Self
Converts to this type from the input type.
§impl From<DeleteStatement> for SubQueryStatement
impl From<DeleteStatement> for SubQueryStatement
§fn from(s: DeleteStatement) -> Self
fn from(s: DeleteStatement) -> Self
Converts to this type from the input type.
§impl OrderedStatement for DeleteStatement
impl OrderedStatement for DeleteStatement
§fn clear_order_by(&mut self) -> &mut Self
fn clear_order_by(&mut self) -> &mut Self
Clear order expressions
§fn order_by<T>(&mut self, col: T, order: Order) -> &mut Selfwhere
T: IntoColumnRef,
fn order_by<T>(&mut self, col: T, order: Order) -> &mut Selfwhere
T: IntoColumnRef,
Order by column. Read more
§fn order_by_expr(&mut self, expr: Expr, order: Order) -> &mut Self
fn order_by_expr(&mut self, expr: Expr, order: Order) -> &mut Self
Order by
Expr.§fn order_by_customs<I, T>(&mut self, cols: I) -> &mut Self
fn order_by_customs<I, T>(&mut self, cols: I) -> &mut Self
Order by custom string.
§fn order_by_columns<I, T>(&mut self, cols: I) -> &mut Self
fn order_by_columns<I, T>(&mut self, cols: I) -> &mut Self
Order by vector of columns.
§fn order_by_with_nulls<T>(
&mut self,
col: T,
order: Order,
nulls: NullOrdering,
) -> &mut Selfwhere
T: IntoColumnRef,
fn order_by_with_nulls<T>(
&mut self,
col: T,
order: Order,
nulls: NullOrdering,
) -> &mut Selfwhere
T: IntoColumnRef,
Order by column with nulls order option. Read more
§fn order_by_expr_with_nulls(
&mut self,
expr: Expr,
order: Order,
nulls: NullOrdering,
) -> &mut Self
fn order_by_expr_with_nulls( &mut self, expr: Expr, order: Order, nulls: NullOrdering, ) -> &mut Self
Order by
Expr with nulls order option.§fn order_by_customs_with_nulls<I, T>(&mut self, cols: I) -> &mut Self
fn order_by_customs_with_nulls<I, T>(&mut self, cols: I) -> &mut Self
Order by custom string with nulls order option.
§fn order_by_columns_with_nulls<I, T>(&mut self, cols: I) -> &mut Self
fn order_by_columns_with_nulls<I, T>(&mut self, cols: I) -> &mut Self
Order by vector of columns with nulls order option.
§impl PartialEq for DeleteStatement
impl PartialEq for DeleteStatement
§impl QueryStatementBuilder for DeleteStatement
impl QueryStatementBuilder for DeleteStatement
§fn build_collect_any_into(
&self,
query_builder: &impl QueryBuilder,
sql: &mut impl SqlWriter,
)
fn build_collect_any_into( &self, query_builder: &impl QueryBuilder, sql: &mut impl SqlWriter, )
Build corresponding SQL statement into the SqlWriter for certain database backend and collect query parameters
§fn build_any(&self, query_builder: &impl QueryBuilder) -> (String, Values)
fn build_any(&self, query_builder: &impl QueryBuilder) -> (String, Values)
Build corresponding SQL statement for certain database backend and collect query parameters into a vector
§fn build_collect_any(
&self,
query_builder: &impl QueryBuilder,
sql: &mut impl SqlWriter,
) -> String
fn build_collect_any( &self, query_builder: &impl QueryBuilder, sql: &mut impl SqlWriter, ) -> String
Build corresponding SQL statement for certain database backend and collect query parameters
fn into_sub_query_statement(self) -> SubQueryStatement
§impl QueryStatementWriter for DeleteStatement
impl QueryStatementWriter for DeleteStatement
fn build_collect_into<T: QueryBuilder>( &self, query_builder: T, sql: &mut impl SqlWriter, )
§fn to_string<T: QueryBuilder>(&self, query_builder: T) -> String
fn to_string<T: QueryBuilder>(&self, query_builder: T) -> String
Build corresponding SQL statement for certain database backend and return SQL string Read more
§fn build<T: QueryBuilder>(&self, query_builder: T) -> (String, Values)
fn build<T: QueryBuilder>(&self, query_builder: T) -> (String, Values)
Build corresponding SQL statement for certain database backend and collect query parameters into a vector Read more
§fn build_collect<T: QueryBuilder>(
&self,
query_builder: T,
sql: &mut impl SqlWriter,
) -> String
fn build_collect<T: QueryBuilder>( &self, query_builder: T, sql: &mut impl SqlWriter, ) -> String
Build corresponding SQL statement for certain database backend and collect query parameters Read more
impl StructuralPartialEq for DeleteStatement
Auto Trait Implementations§
impl Freeze for DeleteStatement
impl RefUnwindSafe for DeleteStatement
impl Send for DeleteStatement
impl Sync for DeleteStatement
impl Unpin for DeleteStatement
impl UnwindSafe for DeleteStatement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> ExprTrait for T
impl<T> ExprTrait for T
§fn count_distinct(self) -> Expr
fn count_distinct(self) -> Expr
Express a
COUNT function with the DISTINCT modifier. Read more§fn equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
fn equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
Express a equal expression between two table columns,
you will mainly use this to relate identical value between two table columns. Read more
§fn in_subquery(self, sel: SelectStatement) -> Expr
fn in_subquery(self, sel: SelectStatement) -> Expr
Express a
IN sub-query expression. Read more§fn in_tuples<V, I>(self, v: I) -> Exprwhere
V: IntoValueTuple,
I: IntoIterator<Item = V>,
fn in_tuples<V, I>(self, v: I) -> Exprwhere
V: IntoValueTuple,
I: IntoIterator<Item = V>,
Express a
IN sub expression. Read more§fn is_not_null(self) -> Expr
fn is_not_null(self) -> Expr
Express a
IS NOT NULL expression. Read more§fn left_shift<R>(self, right: R) -> Expr
fn left_shift<R>(self, right: R) -> Expr
Express a bitwise left shift. Read more
§fn like<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn like<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
Express a
LIKE expression. Read more§fn not_between<A, B>(self, a: A, b: B) -> Expr
fn not_between<A, B>(self, a: A, b: B) -> Expr
Express a
NOT BETWEEN expression. Read more§fn not_equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
fn not_equals<C>(self, col: C) -> Exprwhere
C: IntoColumnRef,
Express a not equal expression between two table columns,
you will mainly use this to relate identical value between two table columns. Read more
§fn not_in_subquery(self, sel: SelectStatement) -> Expr
fn not_in_subquery(self, sel: SelectStatement) -> Expr
Express a
NOT IN sub-query expression. Read more§fn not_like<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn not_like<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
Express a
NOT LIKE expression. Read more§fn right_shift<R>(self, right: R) -> Expr
fn right_shift<R>(self, right: R) -> Expr
Express a bitwise right shift. Read more
§impl<T> PgExpr for Twhere
T: ExprTrait,
impl<T> PgExpr for Twhere
T: ExprTrait,
§fn concatenate<T>(self, right: T) -> Expr
fn concatenate<T>(self, right: T) -> Expr
Express an postgres concatenate (
||) expression. Read more§fn matches<T>(self, expr: T) -> Expr
fn matches<T>(self, expr: T) -> Expr
Express an postgres fulltext search matches (
@@) expression. Read more§fn contains<T>(self, expr: T) -> Expr
fn contains<T>(self, expr: T) -> Expr
Express an postgres fulltext search contains (
@>) expression. Read more§fn contained<T>(self, expr: T) -> Expr
fn contained<T>(self, expr: T) -> Expr
Express an postgres fulltext search contained (
<@) expression. Read more§fn ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
Express a
ILIKE expression. Read more§fn not_ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
fn not_ilike<L>(self, like: L) -> Exprwhere
L: IntoLikeExpr,
Express a
NOT ILIKE expression§fn get_json_field<T>(self, right: T) -> Expr
fn get_json_field<T>(self, right: T) -> Expr
Express a postgres retrieves JSON field as JSON value (
->). Read more