Я получаю ошибку в следующих T-Sql: -
DECLARE @sortby VARCHAR(10)
SET @sortby='A1'
SELECT String1, String2, Date1
FROM (
SELECT 'A1', 'B1', CONVERT(datetime,'1 July 2010 00:01:00')
UNION ALL
SELECT 'A2', 'B2', CONVERT(datetime,'2 July 2010 00:02:00')
) AS a(String1,String2,Date1)
ORDER BY
CASE
WHEN @sortby = 'A1' THEN String2
WHEN @sortby = 'B1' THEN String1
WHEN @sortby = 'Date1' THEN Date1
END
ERROR:Conversion failed when converting datetime from character string.
Работает нормально, только если я установил @ sortby = 'Date1'.
Кто-нибудь может мне сказать, есть ли какая-нибудь синтаксическая ошибка?