Вам необходимо объявить тип для локальной переменной, возможно, nvarchar(max)
(поскольку @@version
определяется как nvarchar
) - и поскольку это не таблица переменная, вы не можете выбрать из it - но вы можете выбрать it :
DECLARE @result nvarchar(max);
SET @result = @@version;
SELECT @result;
или в более поздних SQL версиях сервера:
DECLARE @result nvarchar(max) = @@version;
SELECT @result;
что касается теста if:
IF(SUBSTRING(@result, 1, 1)='M') WAITFOR DELAY '00:00:03';
однако, это (WAITFOR DELAY
) кажется очень странной вещью ... и обратите внимание, что из-за того, как работает TDS, вы обычно не видит результатов запроса до после задержки прошло.