请注意一点:sql中,变量相加,如果其中有一个变量的数据类型是数字型,那么sql会自动把其他的变量转换为数字型,然后相加。通过你的错误原因,可以看出,你的代码中,应该是 @StartIndex 和 @EndIndex 这两个变量的数据类型是 int型。修改方式:把 @StartIndex 和 @EndIndex 分别改成: Cast(@StartIndex as varchar(10)) 和 Cast(@EndIndex as varchar(10))如果还有其他变量是int型,也参照上边的方式,强制转换为字符型就OK了。