Динамический запрос и копарирование битового типа данных - PullRequest
0 голосов
/ 05 июля 2018

У меня есть динамический запрос, который я использую для получения значения, которое должно быть 1 или 0 (битный тип данных) (true или false).

Это кодовый блок

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 никогда не выполняется. Есть ли способ проверить точный DataType возвращаемого значения в @ RESULT.

С другой стороны, если вам известно о лучшем решении для получения этой функциональности, я был бы признателен, если бы вы поделились некоторыми идеями.

Заранее большое спасибо,

Kat

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...