如何进行 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 的工作方式,您通常不会看到查询的任何结果,直到 在 延迟过去后。
我想知道是否有一种方法可以进行查询,其中输出存储在局部变量中,并且 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 的工作方式,您通常不会看到查询的任何结果,直到 在 延迟过去后。