에 잘못된 데이터 유형 NVARCHAR 나는 SQL 서버 내 저장 프로 시저에 문제가 2012 년저장 프로 시저 및 숫자
먼저 테이블 :
[ProductId] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Description] [nvarchar](500) NOT NULL,
[Category] [nvarchar](50) NOT NULL,
[Price] [decimal](16, 2) NOT NULL,
및 저장 프로 시저 :
CREATE procedure [dbo].[GetProductsPaging]
(@PageOffset bigint=0,
@PageSize bigint=5,
@OrderBy varchar(30) = 'ProductId',
@DescOrder bit = 0)
AS
BEGIN
IF @DescOrder = 0
BEGIN
SELECT * FROM [dbo].Products
ORDER BY
CASE @OrderBy
WHEN 'ProductId' THEN ProductId
WHEN 'Name' THEN Name
WHEN 'Category' THEN Category
WHEN 'Price' THEN Price
ELSE NULL
END ASC
OFFSET @PageOffset ROWS
FETCH NEXT @PageSize ROWS ONLY
END
ELSE
BEGIN
SELECT * FROM [dbo].Products
ORDER BY
CASE @OrderBy
WHEN 'ProductId' THEN ProductId
WHEN 'Name' THEN Name
WHEN 'Category' THEN Category
WHEN 'Price' THEN Price
ELSE NULL
END DESC
OFFSET @PageOffset ROWS
FETCH NEXT @PageSize ROWS ONLY
END
END
이렇게 실행하면
EXEC dbo.GetProductsPaging 0, 0 ,'Price', 0
이
EXEC dbo.GetProcedurePaging 0, 0, 'Name', 0
내가이 오류를 숫자로
오류 변환하는 데이터 형식 NVARCHAR을 얻을 사용하는 경우 1,363,210
절차는 잘 작동하지만.
누군가가이 문제를 해결할 수 있습니까? 답변을 주셔서 감사합니다.
고맙습니다. – Zabaa
가격을 기준으로 정렬을 테스트하고 여전히 정렬이 가능합니다. 100은 20 후에옵니다. – Zabaa