Сортировка по дням рождения стр. 1 |
|||||||||||||||||||||
Такая сортировка может потребоваться, например, для установления очередности празднования дней рождения сотрудников. Особенность подобной сортировки заключается в том, что год не учитывается вовсе, а даты упорядочиваются сначала по месяцу, а потом по дню месяца. Возьмём в качестве примера таблицу Battles, а именно, столбец date. Ясно, что сортировка просто по дате (date) не даст желаемого результата из-за года (так, например, 15-е ноября будет предшествовать 20-му октября):
Для выполнения требуемой сортировки можно предложить два варианта ( Язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL Server). 1. Использование функции CONVERTПри этом способе мы преобразуем дату к текстовому представлению в формате "mm-dd" по которому и выполним сортировку:
2. Использование функций MONTH и DAYЗдесь мы используем встроенные функции, которые возвращают компоненты даты - месяц (MONTH) и день (DAY) соответственно. По этим компонентам выполним сортировку: Что касается производительности, то вы можете выбрать любой вариант, т.к. оптимизатор строит для них идентичные планы. В заключение представим последний запрос в более наглядном виде, добавив в него еще и "виновника торжества":
|