У меня есть следующий кодЗаказывайте в T-SQL
SELECT
CASE WHEN @ID = 1 THEN CONVERT(nvarchar(10), [insert_date],101)
ELSE CONVERT(nvarchar(10), [insert_date],103)
END AS [insert_date]
FROM Dates
ORDER BY [insert_date] DESC
Теперь, когда дата в формате 101, он выводит в MM/DD/YYYY и порядка является правильным (DESC в месяц), но когда дата находится в формате 103, она выводится в формате DD/MM/YYYY, а порядок - INCorrect (DESC в день).
Как я могу заказать его по месяцу, даже если дата указана в формате DD/MM/YYYY?
Спасибо
Почему ваш выход в определенном формате на всех ? Сделайте это на уровне презентации, прекратите делать T-SQL своим передним префиксом. Для этого нужен передний конец. –
Спасибо, ребята, почти все решения работают. (код, который я опубликовал, был очень упрощенной версией моего кода. Эти перечисленные решения работают. @AaronBertrand, у меня не так много опыта с интерфейсом (.net/C#), чтобы справиться с ним на этом этапе. :) может быть Легко, если я просто осмотрюсь ... что я сейчас буду. :) – 007
Да в C# посмотрите на '.Format()' - гораздо лучше сделать это там, чем в SQL, * особенно *, если сортировать по дате. –