Хотя я знаю, что у вас уже есть свой ответ, я думаю, что здесь уместно вдаваться в подробности на работе.
Во-первых, предложение order by
идет в порядке указанных столбцов или выражений. В этом случае:
order by index asc, _date desc
Сортирует по index
от наименьшего к наибольшему (asc
окончание), а затем _date
от наибольшего к наименьшему (desc
окончание). Хотя asc
является значением по умолчанию, я обычно включаю его, когда несколько столбцов идут в противоположных направлениях, как вы делаете здесь.
Вы также можете включить выражения в order by
:
order by case when index < 0 then 1 else 0 end desc, _date desc
Это поместит все отрицательные строки index
в верхнюю часть, а затем отсортирует их по _date
. Использование выражений в предложении order by
очень эффективно при определенных обстоятельствах.
Итак, вы упомянули сопоставление и небольшую путаницу относительно того, что это такое. Сличение - это то, как база данных обрабатывает капитал и акценты при сравнении строк. С сопоставлением Captial-Sensitive, 'abc' != 'ABC'
. Однако при сопоставлении с нечувствительностью к капиталу 'abc' = 'ABC'
.
Следует отметить, что параметры сортировки не набор символов. Обычно это определяется типом данных (varchar
== ASCII, nvarchar
== Юникод). Сортировка определяет, как сравниваются строки, а не какие наборы символов доступны для использования.
Кроме того, сопоставление также важно для определенных языков. Учитывая латинское сопоставление, вам просто нужно беспокоиться о заглавных буквах и акцентах, но с учетом датского сопоставления 'aa' = 'å'
. 1 Итак, вы можете видеть, что сопоставление играет большую роль в определении сортировки и сравнения для разных языков , также.
Сортировка очень важна при упорядочении, поскольку она определяет порядок упорядочения строк при разных значениях заглавных букв и ударений. Вот почему он продолжает появляться в ваших поисках. Сличение важно, и это даже повлияло на StackOverflow на этой неделе!
1 : Спасибо Майклу Мэдсену за указание на этот конкретный пример.