我有一个动态查询,用于检索应为1或0(位数据类型)(真或假)的值。
这是代码块
DECLARE @Country VARCHAR(255) = (select param_value from [kat].[PARAMS] where param_name = 'Country')
DECLARE @CountrySelection AS NVARCHAR(MAX)
DECLARE @RESULT AS BIT
set @CountrySelection ='select ['+@Country+'] from COUNTRY_BLOCKS where param_id = 1';
EXEC sp_executesql @CountrySelection , N'@RESULT BIT OUTPUT',@RESULT = @RESULT OUTPUT
**if (CAST(@RESULT as BIT) = 1)
BEGIN**
但是,它看到@RESULT不包含1或0,因此从不满足IF条件。有没有办法检查@RESULT中返回值的确切数据类型。
另一方面,如果您知道获得此功能的更好解决方案,请与您分享一些想法。
在此先感谢
凯特