SQL Server 2008.这两个语句是否相同

时间:2013-06-13 12:01:35

标签: sql sql-server-2008 isnull

DECLARE @IS_EMAIL CHAR(1);

IF @IS_EMAIL = '1' .....

IF (ISNULL(@IS_EMAIL , '0') = '1') .....

对于@IS_EMAIL的每个值,这两个条件是否会解析为相同的结果?

2 个答案:

答案 0 :(得分:0)

是的,他们的工作方式相同。

当@IS_EMAIL为空时,第二个将评估为if 0 = 1

答案 1 :(得分:0)

是。但考虑第一个,因为它更容易理解,它应该更快。