我需要在sql表中插入字符串,我必須添加條件。例如:Sql的 - 如何添加條件時將其插入到表中的字段?
SELECT ii.Terminating_Item_Site_ID,
ii.Originating_Item_Site_ID,
loc.ServiceAddress,
loc.ServiceCity,
loc.ServiceState,
(ii.Originating_Item_Site_ID + ' - ' + loc.ServiceAddress + ', ' + loc.ServiceCity + ', ' + loc.ServiceState) AS OrigSite
FROM tblItemInventory ii
LEFT OUTER JOIN tblServiceLocation AS loc ON loc1.ServiceLocationID = ii.Originating_Item_Site_ID
我需要把狀態插入場OrigSite
的時候,所以如果ii.Originating_Item_Site_ID
或loc.ServiceAddress
或loc.ServiceCity
或loc.ServiceState
是null
,我並不需要包括它,所以我將其替換爲「」。
發生什麼事情是,如果上述任何一個字段是null
,OrigSite也變成null
。
我試過使用WHEN
但我無法管理它。 我正在使用SQL Server 2008 R2。
任何人都可以幫忙嗎?
這並不工作,使用isnull必須在連接字符串的每個部分使用,不互相列 – Tristan
在級聯如果一個部分是空整個concatination成爲整個級聯null.so ISNULL作品。 –
是的,你可以替換連接結果中的空值,但是你仍然失去其餘的子串。如果你沒有子串,你就不會丟失任何存在的數據。另外,coalecse返回提供的字段中的第一個不爲空,所以在你的例子中你得到了ii.Originating_Item_Site_ID或' - ' – Tristan