У меня есть динамический запрос, который я использую для получения значения, которое должно быть 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