我正在尝试将参数值传递给具有四个参数和“返回表”的表值函数。但是,当我将参数值传递给其varchar参数之一时,我收到以下错误:
Msg 8114,Level 16,State 5,Line 6转换数据类型varchar时出错 对bigint。
(1 / 16) ^ i
一瞥功能:
declare @Scenario1 as varchar(30)
set @Scenario1 = '2017_B01'
select *
From [dbo].[fn_GetAEAssumptionFacts](@Scenario1,null,null,null) fng
答案 0 :(得分:1)
下面
(CASE WHEN isnull(@pScenarioName, '') = ''
THEN (select ID from AEX.[dbo].[ConfigurationFieldTable]
where [Type] = 'Lease Connect Current Scenario' )
ELSE @pScenarioName
END)
您的值取决于@ScenarioName
。这可能是select ID from AEX.[dbo].[ConfigurationFieldTable] WHERE...
的结果,也可能是@ScenarioName
的内容。
我认为此ID是bigint
,而您的@SenarioName
是字符串。而s.ID
你要比较它 - 我不知道......
但是 - 说实话 - 我的魔法水晶球已用于清洁,而你提供的信息还不够。