2010-11-05 66 views
1
SELECT  
    EMPLOYEE.EMPLOYEE_FNAME + EMPLOYEE.EMPLOYEE_LNAME +  
     EMPLOYEE.EMPLOYEE_PRIMARY_NUMBER + EMPLOYEE.EMPLOYEE_EMAIL AS EMPLOYEE, 
    ADDRESS.ADDRESS_LINE_1 + ADDRESS.ADDRESS_LINE_2 + ADDRESS.CITY_PROVINCE + 
     ADDRESS.STATE_ABBREVIATION + ADDRESS.POSTAL_CODE AS ADDRESS 
FROM   
    EMPLOYEE 
INNER JOIN 
    ADDRESS ON EMPLOYEE.ADDRESS_ID = ADDRESS.ADDRESS_ID 

回答

0

如果您連接字符串和空值,則結果爲空。

使用​​3210或isnull,以確保你沒有一個空值:

ADDRESS.ADDRESS_LINE_1 + COALESCE(ADDRESS.ADDRESS_LINE_2, '') 
+0

如果ADDRESS_LINE_1爲空,該怎麼辦?應該是ISNULL(ADDRESS_LINE_1,'') – 2010-11-05 02:30:58

+0

@roman M:是的,你可以在任何可能爲空的字段上使用它。 – Guffa 2010-11-05 02:31:55

1

您需要確保沒有數據是空

isnull(ADDRESS.ADDRESS_LINE_1, '') 
+ isnull(.... 
0

您可以覆蓋默認選項用於與這個空級聯:

SET CONCAT_NULL_YIELDS_NULL OFF 
+0

這是一個非常糟糕的主意!此功能將從未來版本的SQL Server中刪除 – 2010-11-05 12:38:16

相關問題