Trait diesel::expression_methods::PgSortExpressionMethods [−][src]
pub trait PgSortExpressionMethods: Sized { fn nulls_first(self) -> NullsFirst<Self> { ... } fn nulls_last(self) -> NullsLast<Self> { ... } }
Expand description
PostgreSQL expression methods related to sorting.
This trait is only implemented for Asc
and Desc
. Although .asc
is
implicit if no order is given, you will need to call .asc()
explicitly in
order to call these methods.
Provided methods
fn nulls_first(self) -> NullsFirst<Self>
fn nulls_first(self) -> NullsFirst<Self>
Specify that nulls should come before other values in this ordering.
Normally, nulls come last when sorting in ascending order and first when sorting in descending order.
Example
diesel::insert_into(nullable_numbers) .values(&vec![ nullable_number.eq(None), nullable_number.eq(Some(1)), nullable_number.eq(Some(2)), ]) .execute(&connection)?; let asc_default_nulls = nullable_numbers.select(nullable_number) .order(nullable_number.asc()) .load(&connection)?; assert_eq!(vec![Some(1), Some(2), None], asc_default_nulls); let asc_nulls_first = nullable_numbers.select(nullable_number) .order(nullable_number.asc().nulls_first()) .load(&connection)?; assert_eq!(vec![None, Some(1), Some(2)], asc_nulls_first);
fn nulls_last(self) -> NullsLast<Self>
fn nulls_last(self) -> NullsLast<Self>
Specify that nulls should come after other values in this ordering.
Normally, nulls come last when sorting in ascending order and first when sorting in descending order.
Example
diesel::insert_into(nullable_numbers) .values(&vec![ nullable_number.eq(None), nullable_number.eq(Some(1)), nullable_number.eq(Some(2)), ]) .execute(&connection)?; let desc_default_nulls = nullable_numbers.select(nullable_number) .order(nullable_number.desc()) .load(&connection)?; assert_eq!(vec![None, Some(2), Some(1)], desc_default_nulls); let desc_nulls_last = nullable_numbers.select(nullable_number) .order(nullable_number.desc().nulls_last()) .load(&connection)?; assert_eq!(vec![Some(2), Some(1), None], desc_nulls_last);