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

How to make a T-SQL query where the first letter of the output equals to a character

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

查询大纲:-

DECLARE @result;
SET @result=SELECT @@version;
SELECT * FROM @result IF(SUBSTRING(@result, 1, 1)='M') WAITFOR DELAY '0:0:3'

您需要为局部变量声明一个 type,也许是 nvarchar(max)(因为 @@version is defined as nvarchar)——因为那不是 table 变量,你不能 select 它 - 但你可以 select :

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 的工作方式,您通常不会看到查询的任何结果,直到 延迟过去后。