Mam dość proste zapytanie stronicowania używany, aby uzyskać wierszy z tabeliKonwersja nie powiodła się, gdy data i/lub czas konwersji z postaci napisu
ALTER PROCEDURE mytable.[news_editor_paginate]
@count int,
@start int,
@orderby int
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP (@count) * FROM
(
SELECT news_edits.*,
ROW_NUMBER() OVER (
ORDER BY CASE
WHEN @orderby = 0 THEN news_edits.[time]
WHEN @orderby = 1 THEN news_edits.lastedit
WHEN @orderby = 2 THEN news_edits.title
END
DESC
) AS num
FROM news_edits
) AS a
WHERE num > @start
END
Parametr @orderby
decyduje, która kolumna wyniki powinny być zamawiane przez.
news_edit.[time]
i news_edits.lastedit
są polami datetime. Ale news_edits.title
jest polem varchar.
Kwerenda działa dobrze dla obu pól datetime ale kiedy @orderby = 2
pojawia się następujący błąd:
„Konwersja nie powiodła się podczas konwersji daty i/lub czasu z ciągu znaków”.
Problem w tym, że nie próbuję niczego przekonwertować?
To wszystko dziękuję! –