位数据类型的动态查询和比较

时间:2018-07-05 12:26:58

标签: sql-server bit dynamic-sql

我有一个动态查询,用于检索应为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中返回值的确切数据类型。

另一方面,如果您知道获得此功能的更好解决方案,请与您分享一些想法。

在此先感谢

凯特

0 个答案:

没有答案