Expand description
§Expression Builder API
Fluent builder API for programmatic SQL construction and manipulation.
This module provides ergonomic builders inspired by Python sqlglot’s builder API, allowing construction of SQL expressions without manual AST enum construction.
§Quick Start
use sqlglot_rust::builder::{select, column, literal, condition};
use sqlglot_rust::{Dialect, generate};
// Build a SELECT query fluently
let query = select(&["a", "b"])
.from("users")
.where_clause("active = true")
.order_by(&["created_at"])
.limit(10)
.build();
let sql = generate(&query, Dialect::Postgres);§Condition Builder
use sqlglot_rust::builder::condition;
// Build complex conditions
let cond = condition("x = 1")
.and("y = 2")
.or("z = 3")
.build();§Expression Factory Functions
use sqlglot_rust::builder::{column, table, literal, cast, and_all, or_all};
use sqlglot_rust::ast::DataType;
// Create expressions directly
let col = column("name", Some("users"));
let tbl = table("users", Some("public"));
let num = literal(42);
let casted = cast(column("id", None), DataType::BigInt);Structs§
- Condition
Builder - Builder for combining conditions with AND/OR/NOT.
- Select
Builder - Fluent builder for SELECT statements.
Functions§
- add
- Create an addition expression (+).
- alias
- Create an aliased expression.
- and_all
- Combine multiple conditions with AND.
- between
- Create a BETWEEN expression.
- boolean
- Create a boolean literal expression.
- cast
- Create a CAST expression.
- column
- Create a column expression.
- condition
- Create a new condition builder.
- condition_
dialect - Create a condition builder with a specific dialect.
- div
- Create a division expression (/).
- eq
- Create an equality comparison (=).
- exists
- Create an EXISTS expression.
- func
- Create a function call expression.
- func_
distinct - Create a function call with DISTINCT.
- gt
- Create a greater-than comparison (>).
- gte
- Create a greater-than-or-equal comparison (>=).
- in_list
- Create an IN list expression.
- in_
subquery - Create an IN subquery expression.
- is_
not_ null - Create an IS NOT NULL check.
- is_null
- Create an IS NULL check.
- like
- Create a LIKE expression.
- literal
- Create an integer literal expression.
- lt
- Create a less-than comparison (<).
- lte
- Create a less-than-or-equal comparison (<=).
- mul
- Create a multiplication expression (*).
- neq
- Create an inequality comparison (<>).
- not
- Negate an expression with NOT.
- not_
in_ list - Create a NOT IN list expression.
- null
- Create a NULL literal expression.
- or_all
- Combine multiple conditions with OR.
- parse_
condition - Parse a condition string for use in WHERE clauses.
- parse_
condition_ dialect - Parse a condition string with a specific dialect.
- parse_
expr - Parse an expression string into an Expr.
- parse_
expr_ dialect - Parse an expression string into an Expr with a specific dialect.
- qualified_
star - Create a qualified wildcard (table.*) expression.
- select
- Create a new SELECT builder with columns.
- select_
all - Create a SELECT * query.
- select_
distinct - Create a SELECT DISTINCT builder.
- star
- Create a wildcard (*) expression.
- string_
literal - Create a string literal expression.
- sub
- Create a subtraction expression (-).
- subquery
- Create a subquery expression.
- table
- Create a table reference.
- table_
full - Create a fully qualified table reference with catalog.