无效的长度参数传递给左或子字符串函数
问题描述:
DECLARE @TotalImagesCount int
IF(@InfoTypeiD=9)
SET @TotalImagesCount=(SELECT ImagesCount/3 FROM Information(NOLOCK) WHERE [email protected])
ELSE
SET @TotalImagesCount=(SELECT ImagesCount FROM Information(NOLOCK) WHERE [email protected]);
SET @PageNumber = @PageNumber - 1
SET @RowStart = @PageSize * @PageNumber + 1;
SET @RowEnd = @RowStart + @PageSize - 1;
BEGIN
WITH RESULT AS
(
SELECT filepath,MediaFileId,SUBSTRING(filepath,0,LEN(filepath)-3)+'_800.jpg' img800,[Description],
SUBSTRING(filepath,0,LEN(filepath)-3)+'_1024.jpg'img1024 ,ROW_NUMBER() OVER (ORDER BY MediaFileId DESC) AS RowNumber
--CASE WHEN @InfoTypeID=9 THEN (SELECT COUNT(*)/3 FROM mediafile(NOLOCK) where [email protected])
--ELSE (SELECT COUNT(*) FROM mediafile(NOLOCK) where [email protected])
--END AS TotalImages
FROM MediaFile(NOLOCK) WHERE [email protected] and
filepath NOT LIKE '%800.%' and filepath NOT LIKE '%1024.%'
)
SELECT filepath,MediaFileId,img800,img1024,RowNumber,@TotalImagesCount AS TotalImages,[Description] AS ImageDescription,
(SELECT COUNT(*) FROM RESULT) TotalRecords FROM RESULT
WHERE RowNumber >= @RowStart AND RowNumber <= @RowEnd ORDER BY MediaFileID DESC
答
也许这些行:
SELECT * FROM MediaFile WHERE LEN(filepath) <= 3
另外,你确定你想在你的子串使用0? - 见http://msdn.microsoft.com/en-us/library/ms187748.aspx,特别是评论。
这是SQL,而不是ASP.Net。你的问题是什么? – Prutswonder 2011-03-31 07:13:46
为了更好地说明您的实际问题,请将此标记为管理员注意。 – 2011-04-01 09:24:49