我想知道是否有一种方法可以查询将输出存储在局部变量中,并且使用IF条件检查输出是否与字符匹配的第一个字符
查询大纲:-
DECLARE @result;
SET @result=SELECT @@version;
SELECT * FROM @result IF(SUBSTRING(@result, 1, 1)='M') WAITFOR DELAY '0:0:3'
您需要为局部变量声明一个[[type,也许是nvarchar(max)
-并且由于它不是表变量,所以您不能选择from它-但您可以选择it :
DECLARE @result nvarchar(max) = @@version;
SELECT @result;
至于if测试:
IF(SUBSTRING(@result, 1, 1)='M') WAITFOR DELAY '00:00:03';
但是,(延迟到来之前,您不会看到查询的任何结果。通过。WAITFOR DELAY
)似乎很奇怪……并且请注意,由于TDS的工作方式,通常在after
DECLARE @result NVARCHAR(124)
SET @result= @@version;
SET @result = IIF(LEFT(@@version, 1) = 'M', @@version, NULL);