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

Lea*_*ner 1 sql sql-server sql-server-2008

是否有任何差异在选择1和从中选择0或从中选择任何整数?

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

但是,选择1不同于选择0来自和或选择29来自?

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

Unh*_*ean 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
Run Code Online (Sandbox Code Playgroud)