diesel/expression/
not.rs

1use expression::grouped::Grouped;
2use expression::AsExpression;
3use helper_types::not;
4use sql_types::Bool;
5
6/// Creates a SQL `NOT` expression
7///
8/// # Example
9///
10/// ```rust
11/// # #[macro_use] extern crate diesel;
12/// # include!("../doctest_setup.rs");
13/// #
14/// # fn main() {
15/// #     use schema::users::dsl::*;
16/// #     let connection = establish_connection();
17/// use diesel::dsl::not;
18///
19/// let users_with_name = users.select(id).filter(name.eq("Sean"));
20/// let users_not_with_name = users.select(id).filter(
21///     not(name.eq("Sean")));
22///
23/// assert_eq!(Ok(1), users_with_name.first(&connection));
24/// assert_eq!(Ok(2), users_not_with_name.first(&connection));
25/// # }
26/// ```
27pub fn not<T: AsExpression<Bool>>(expr: T) -> not<T> {
28    super::operators::Not::new(Grouped(expr.as_expression()))
29}