if存在之间的差异(从中选择1)和(从中选择0)

时间:2015-01-22 01:03:32

标签: sql sql-server sql-server-2008

在选择1中是否有任何区别,从中选择0或从中选择任何整数?

我知道select * from是一项昂贵的操作。

然而,选择1来自于选择0来自和<或选择29来自?

在仅检查表/存储过程是否存在且是否存在的情况下,删除它并重新创建(在这些场景中)

1 个答案:

答案 0 :(得分:6)

你的表现会完全相同。使用exists时,SQL Server不会评估语句的SELECT部分​​中的任何内容。它只是解析为布尔值。这可以通过1除以0来证明。通常这会引发错误,但在EXISTS中,它运行时没有错误。

关于您的具体用途,EXISTS检查中的费用几乎为零。如果遇到性能问题,则不是脚本的EXISTS部分。

示例:

IF EXISTS(SELECT 1/0 FROM <TABLE> WHERE 1=1) BEGIN SELECT 'In the exists' END