如何进行T-SQL查询,其中输出的首字母等于一个字符

问题描述 投票:0回答:2

我想知道是否有一种方法可以查询将输出存储在局部变量中,并且使用IF条件检查输出是否与字符匹配的第一个字符

查询大纲:-

DECLARE @result;
SET @result=SELECT @@version;
SELECT * FROM @result IF(SUBSTRING(@result, 1, 1)='M') WAITFOR DELAY '0:0:3'
c# sql-server sql-server-2008 sql-server-2005
2个回答
0
投票

您需要为局部变量声明一个[[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

延迟到来之前,您不会看到查询的任何结果。通过。

0
投票
尝试一下:

DECLARE @result NVARCHAR(124) SET @result= @@version; SET @result = IIF(LEFT(@@version, 1) = 'M', @@version, NULL);

© www.soinside.com 2019 - 2024. All rights reserved.