Module diesel::expression

source ·
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.


  • array_comparisoni-implement-a-third-party-backend-and-opt-into-breaking-changes
    This module contains the query dsl node definitions for array comparison operations like IN and NOT IN
  • existsi-implement-a-third-party-backend-and-opt-into-breaking-changes
    This module contains the query dsl node definition for EXISTS expressions
  • Possible types for []Expression::SqlType]
  • Helper macros to define custom sql functions
  • Possible values for ValidGrouping::IsAggregate



  • 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§