Запрос:
SELECT StartDate, EndDate, RIGHT(Sector, 1 )
FROM Table1
ORDER BY Right(Sector, 1), StartDate
Глядя на это, запрос должен упорядочить все по секторам с последующей датой начала. Этот запрос работал тихо некоторое время до вчерашнего дня, когда он не упорядочил его должным образом, по какой-то причине Сектор 2 был до Сектора 1.
Тип данных для сектора имеет тип int, а не null. После вставки функции TRIM в сектор она, кажется, работает нормально.
Новый запрос:
SELECT StartDate, EndDate, RIGHT(Sector, 1 )
FROM Table1
ORDER BY Right(TRIM(Sector), 1), StartDate
Что мне показалось действительно странным, поскольку предполагается выделить только один символ, так почему же здесь пробелы?
Есть ли проблема с использованием функции RIGHT в int перед преобразованием типа? Или это что-то еще?
Спасибо за помощь всем!
-Edit- Функция RIGHT должна возвращать 1, 2, 3 или 4, однако при заказе 2 предшествует 1.
Для пояснения, столбец Sector содержит значение типа int, мы можем определить его местоположение, получив последнюю цифру (именно поэтому предыдущий кодер сделал это)