Как сделать запрос T- SQL, где первая буква вывода равна символу - PullRequest
0 голосов
/ 26 февраля 2020

Я хотел бы знать, есть ли способ сделать запрос, в котором выходные данные хранятся в локальной переменной, и условие IF используется для проверки соответствия первого символа, если выходные данные соответствуют символу

Схема запроса: -

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

1 Ответ

2 голосов
/ 26 февраля 2020

Вам необходимо объявить тип для локальной переменной, возможно, 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, вы обычно не видит результатов запроса до после задержки прошло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...