Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在输出的第一个字母等于一个字符的情况下进行T-SQL查询_C#_Sql Server_Sql Server 2008_Sql Server 2005 - Fatal编程技术网

C# 如何在输出的第一个字母等于一个字符的情况下进行T-SQL查询

C# 如何在输出的第一个字母等于一个字符的情况下进行T-SQL查询,c#,sql-server,sql-server-2008,sql-server-2005,C#,Sql Server,Sql Server 2008,Sql Server 2005,我想知道是否有一种方法可以进行查询,其中输出存储在局部变量中,如果输出与字符匹配,是否使用条件检查第一个字符 查询大纲:- DECLARE @result; SET @result=SELECT @@version; SELECT * FROM @result IF(SUBSTRING(@result, 1, 1)='M') WAITFOR DELAY '0:0:3' 您需要为局部变量声明一个类型,可能是nvarchar(max)(因为)-并且因为它不是一个表变量,您不能从中选择-但是您可以选

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

查询大纲:-

DECLARE @result;
SET @result=SELECT @@version;
SELECT * FROM @result IF(SUBSTRING(@result, 1, 1)='M') WAITFOR DELAY '0:0:3'
您需要为局部变量声明一个类型,可能是
nvarchar(max)
(因为)-并且因为它不是一个表变量,您不能从中选择-但是您可以选择它:

DECLARE@result-nvarchar(最大值);
设置@result=@@version;
选择@result;
或在较新的SQL Server版本上:

DECLARE@result-nvarchar(max)=@@version;
选择@result;
至于if测试:

IF(子字符串(@result,1,1)='M')等待延迟'00:00:03';
然而,这(
waitfordelay
)似乎是一件非常奇怪的事情。。。请注意,由于TDS的工作方式,在延迟过去之前,您通常不会看到查询的任何结果。

您需要为局部变量声明一个类型,可能是
nvarchar(max)
(因为)-由于它不是表变量,您不能从中选择-但您可以选择它:

DECLARE@result-nvarchar(最大值);
设置@result=@@version;
选择@result;
或在较新的SQL Server版本上:

DECLARE@result-nvarchar(max)=@@version;
选择@result;
至于if测试:

IF(子字符串(@result,1,1)='M')等待延迟'00:00:03';

然而,这(
waitfordelay
)似乎是一件非常奇怪的事情。。。请注意,由于TDS的工作方式,在延迟过去之前,您通常不会看到任何查询结果。

为什么要标记2个完整的不受支持的SQL Server版本?2005年已经被篡夺多年,而2008年自去年中以来一直没有得到支持。您真的应该在一段时间前就开始研究升级路径。许多人仍然出于无法控制的原因使用不受支持的SQL Server版本,或者至少出于兼容原因@Larnu使用兼容级别。像你这样的评论很少有帮助,而且通常会让人觉得有一个敌对的环境。许多人仍然在使用不受支持的版本,是的@iamdave,但许多人似乎也忘记了他们不受支持的事实。此外,OP并没有标记SQL Server的1个版本,而是标记了2个版本,这似乎很奇怪;两者都不受支持。然而,我的评论绝非恶意,它建议OP应该真正关注他们正在使用的SQL Server版本,看看他们可以做些什么来升级,或者提示他们使用了错误的标记。2005年和2008年都缺少很多我们认为在受支持版本中理所当然的功能。至少有一个人(即:我)认为它是恶意的@Larnu,所以我认为也有其他人这样认为。我可以向你保证,它不是,@iamdave。你为什么标记了2个完整的SQL Server不受支持的版本?2005年已经被篡夺多年,而2008年自去年中以来一直没有得到支持。您真的应该在一段时间前就开始研究升级路径。许多人仍然出于无法控制的原因使用不受支持的SQL Server版本,或者至少出于兼容原因@Larnu使用兼容级别。像你这样的评论很少有帮助,而且通常会让人觉得有一个敌对的环境。许多人仍然在使用不受支持的版本,是的@iamdave,但许多人似乎也忘记了他们不受支持的事实。此外,OP并没有标记SQL Server的1个版本,而是标记了2个版本,这似乎很奇怪;两者都不受支持。然而,我的评论绝非恶意,它建议OP应该真正关注他们正在使用的SQL Server版本,看看他们可以做些什么来升级,或者提示他们使用了错误的标记。2005年和2008年都缺少很多我们认为在受支持的版本中理所当然的功能。至少有一个人(即:我)认为它是恶意的@Larnu,所以我认为也有其他人这么认为。我可以向你保证,它不是,@iamdave.Hi Marc,我需要waitfor延迟功能,你能给我确切的数字吗query@Rahul我已经展示的代码的哪一部分不起作用?它在这里工作得很好…谢谢Marc,像charmHi Marc一样工作,我需要waitfor延迟功能,你能给我确切的数字吗query@Rahul我已经展示的代码的哪一部分不起作用?这里很好用…谢谢Marc,很有魅力