我有这个查询:
WITH NumberedMyTable AS(
select top 50
isnull(Project, '') Project,
isnull(PRDesc, '') PRDesc,
isnull(PRNum, 0) PRNum,
isnull(PRLine, 0) PRLine,
isnull(Quantity, '') Quantity,
isnull(Balance,'NO REF') [Balance],
isnull(Unit, '') Unit,
ROW_NUMBER() OVER (ORDER BY Project) AS RowNumber
FROM [SYSMGT].[dbo].[vw_PRItemBalance]
where Project like '%one%'
order by Project)
Select *
from NumberedMyTable
where Rownumber between 0 and 10
问题是,我收到一条错误消息:
信息8114,第16级,状态5,第1行 将数据类型varchar转换为数字时出错。
vw_PRItemBalance是我在sql server 2014 Management Studio中创建的视图
答案 0 :(得分:0)
只需验证以下几列: 这些列必须是VARCHAR类型。如果没有,则更改为ISNULL(Col,0)
isnull(Project, '') Project,
isnull(PRDesc, '') PRDesc,
isnull(Quantity, '') Quantity,
isnull(Balance,'NO REF') [Balance],
isnull(Unit, '') Unit,
这些都是整数类型,如果没有,则使用ISNULL(col,'')更改它
isnull(PRNum, 0) PRNum,
isnull(PRLine, 0) PRLine,