ストアドプロシージャで動的順序を使用しようとしていますので、データをストアドプロシージャにパラメータとして返す順序を渡すことができます。私はSQL Server動的注文By
DECLARE @ORDERBY INT
SET @ORDERBY = 1
SELECT TOP 10 * FROM TBL_LMS_USERS_RECORDs_LAST_ATTEMPT
ORDER BY
CASE
WHEN @OrderBy = 1 THEN s10_record_dow
--WHEN @OrderBy = 2 THEN pk_big_record_id
else s10_record_dow
END
を次のように私は
とWHEN case文のそれ誤差の第二のコメントを解除した場合、私が持っているコードがあるintまたは日時フィールド、それがエラーを並べ替えしようとした場合しかし、これは、VARCHARフィールドのため正常に動作します"データ型varcharをbigintに変換中にエラーが発生しました。
ケースステートメントを使用しないと、このフィールドで問題なく注文できます。
アイデア?これに
感謝をdesceningか、関心の外に、なぜそれは私がVARCHARでなく、INTまたは私が持っている他のデータ型を使用するためにそれを持っていたどのように[OK]を働いていましたさこのようにするには? – Gavin
ケース内のすべてのフィールドを同じデータ型に評価する必要があります。ただし、リスト内のすべてのフィールドを単一のデータ型に変換できる場合は、単一のCase文を使用できます。ケース内のそのデータ型 –