SQL无法转换类型,但原因是什么

SQL无法转换类型,但原因是什么,sql,type-conversion,Sql,Type Conversion,我正在尝试按以下方式筛选查询: declare @CubeYear as varchar(30) --Setting it this way so it can later be easily used in SSAS Cubes set @CubeYear = '[Date].[Year].&[2013]' SELECT [RankingID] ,[Year] ,[Customer] ,[Rank] FROM [OBase].[dbo].[fact_

我正在尝试按以下方式筛选查询:

declare @CubeYear as varchar(30)
--Setting it this way so it can later be easily used in SSAS Cubes
set @CubeYear = '[Date].[Year].&[2013]'
SELECT [RankingID]
      ,[Year]
      ,[Customer]
      ,[Rank]
FROM [OBase].[dbo].[fact_KundeRanking]
where '[Date].[Year].&[' + Year  + ']' = @CubeYear
但我一直得到以下错误:

将varchar值“[Date].[Year].&[2013]”转换为数据类型int时,转换失败

有人知道解决这个问题的办法吗?

试试这个-

where '[Date].[Year].&[' + CAST(Year as varchar(4)) + ']' = @CubeYear
转换(varchar(30),“[日期].[年份].&[“+年份+”])可能吗?