Привези ка мне батюшка чудище заморское цветочек аленький.
Как часто бывает в жизни что желания не совпадают с возможностями. Вот и по работе часто пожелания пользователей и чиновников не совпадают со стандартными возможностями MS SQL Server.
Пример: Необходимо отсортировать накладные для реестра по коду(хранится как строка) и дате выписки.
Допустим имеются следующие данные
Код Дата
1/01 01/02/2011
2/01 05/02/2011
11/01 09/02/2011
На первый взгляд можно обойтись банальным ORDER BY, но тут по классике жанра начинают публиковаться пояснения, исключения и замечания.
Сортировать надо не по всему коду, а по части до "/" с приведением к числовому значению, т.к. 2 должно идти перед 11 а не наоборот, т.к. если сортировать как строку то получится порядок 1, 11, 2 вместо требуемого 1, 2, 11.
Ну а дальше начинаются субъективные факторы по типу "погоды на Марсе".
Например если погода на Марсе ясная и накладная выписалась заданному клиенту, когда муха пролетая над кактусом потеряла ориентацию в пространстве и упала в кружку с чаем операциониста, то запись необходимо разместить в самом конце списка, независимо от того когда и с каким номеров эту накладную выписали.