2013-06-13 77 views
3
DECLARE @IS_EMAIL CHAR(1); 

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

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

對於@IS_EMAIL的每個值,這兩個條件會解析爲相同的結果嗎?SQL Server 2008.這兩條語句是否相同

+0

是的。兩個IF只會在值爲'1'時執行。在第二個IF中,null值首先映射爲'0'。但是零與IF無關 – Hazaart

回答

0

是的,他們的工作原理是一樣的。

當@IS_EMAIL爲空時,第二個將評估爲if 0 = 1

0

是的。但考慮第一個,因爲它更容易理解,而且應該更快。