Expand description

AST types representing various typed SQL expressions.

Almost all types implement either Expression or AsExpression.

The most common expression to work with is a Column. There are various methods that you can call on these, found in expression_methods.

You can also use numeric operators such as + on expressions of the appropriate type.

Any primitive which implements ToSql will also implement AsExpression, allowing it to be used as an argument to any of the methods described here.

Modules

Possible types for []Expression::SqlType]
Helper macros to define custom sql functions
Possible values for ValidGrouping::IsAggregate

Structs

Returned by the sql() function.
Returned by the SqlLiteral::bind() method when binding a value to a fragment of SQL.

Traits

Indicates that all elements of an expression are valid given a from clause.
Converts a type to its representation for use in Diesel’s query builder.
Converts a tuple of values into a tuple of Diesel expressions.
Helper trait used when boxing expressions.
Represents a typed fragment of SQL.
Converts a type to its representation for use in Diesel’s query builder.
Can two IsAggregate types appear in the same expression?
NonAggregateNon-unstable
Trait alias to represent an expression that isn’t aggregate by default.
A helper to translate type level sql type information into runtime type information for specific queries
Trait indicating that a record can be selected and queried from the database.
Indicates that an expression can be selected from a source.
This helper trait provides several methods for constructing a select or returning clause based on a Selectable implementation.
Marker trait for possible types of Expression::SqlType
Is this expression valid for a given group by clause?

Derive Macros

Implements all required variants of AsExpression
Implements Selectable
Implements ValidGrouping