当前位置: 首页 > 面试题库 >

如果条件不匹配,select语句将返回什么?

林炫明
2023-03-14
问题内容

例如,如果我有以下声明:

declare @uid int;
set @uid = (select id from tablename where condition)

在这种情况下,如果选择未返回任何结果,则@uidbe的值是多少?


问题答案:

简而言之,它将为null

我做了一个简单的临时表来测试

declare @temp table 
 (
   id int identity(1,1) not null  ,
   alpha nvarchar(50)
 )

 insert into @temp select 'z'

nvarchar type在不满足条件的情况下声明一个变量并获取值,则为null,如果您通过print语句查看,则不应打印任何内容

declare @test nvarchar(50)


 select @test=alpha from @temp where id=70

 insert into @temp  select @test 
 select * from @temp


 print @test

我只是再次插入以确认是否为空



 类似资料:
  • 我一定错过了什么。我正在计算一个列表,想跳过特定的数字,所以我做了一个switch语句: 以下是输出: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 52 53 注意,44出现了,尽管我没

  • 问题内容: 这是问题的简化:我有一个看起来像这样的选择: 并返回的数据快照看起来像这样 我想做的是,如果工作组是内部的,则选择不显示受让人的名称。而是显示工作流。 因此,例如,我想要实现的结果将是这样的: 我希望这是有道理的?基本上是一个条件选择,可以检测某个列是否包含某个值,然后用[whatever]替换另一个列的值。 提前致谢! 编辑我想实现这样的事情: 问题答案: 您没有提到您的DBMS,但

  • 相当新的反应,我相信这很容易,但我正在尝试转换: 转换成单个返回语句。 基本上是替换

  • 问题内容: 已经晚了,所以这一定是愚蠢的。我已将LinqPad连接到我的数据库,但似乎无法获得最简单查询的结果。 当我运行它时,LinqPad说它成功执行了(C#语句模式)。什么都不会被搁置。 我可以编写以下非常简单的Lambda(C#表达式模式): 那行得通。为什么?我更喜欢使用非lambda查询构建功能。我敢肯定,这一切都是愚蠢的。 问题答案: 我希望在声明模式下,您必须执行类似call的操作

  • 问题内容: 我正在使用MySQL,并且想在SQL中执行一种三元语句,例如: 结果将类似于: 如何做到这一点? 问题答案:

  • 问题内容: 这实际上可能是一个愚蠢的问题,但我想知道是否有可能使用if语句执行所有条件。我解释: 当所有三个方法都返回true时执行。关键是,当一个方法返回false时,其余方法将不会执行。这通常对性能而言是一件好事,但是如果我真的需要独立于所有方法返回的值来执行所有方法,然后对表达式求值并进入if与否,该怎么办?同样适用于OR或其他 有没有一种方法可以告诉Java采取这种方式?我目前的解决方法是