2011-12-20 97 views
3

我希望有人能解釋這個片段的SQL Server 2005存儲過程它的選擇查詢的一部分 - 我能勝任在PHP的MySQL,但ASP/SQL服務器不是我的專長!解釋SQL Server存儲過程/查詢

+RTRIM(ISNULL(r.country,''))+'|' 
+RTRIM(ISNULL(r.phone,''))+'|' 
+RTRIM(ISNULL(r.fax,''))+'|' 
+dbo.UKBN(RTRIM(ISNULL(r.bn,'')))+'|' 
+RTRIM(ISNULL(r.bn,''))+'|' 
+RTRIM(ISNULL(CAST (r.eventid AS varchar(5)),'')) 
) 

我明白它需要DB瓦爾重置他們,如果他們都是NULL「」和修剪它們,然後將其連接在一起的管道分離。

這是位我不明白

+dbo.UKBN(RTRIM(ISNULL(r.bn,'')))+'|' 

看來,以檢查是否r.bn爲null,則復位到「」如果是這樣,那麼進行微調,但我不明白是什麼dbo.UKBN是/是嗎?

它似乎不是一個表/ var或另一個存儲過程 - 有人可以解釋它在這個佈局中可能做什麼/做什麼。

回答

6

dbo.UKIPBN是標量用戶定義函數。在Management Studio中查找Programmability -> Functions -> Scalar-Valued Functions以查找它。

+2

+1你快速:) – TheBoyan 2011-12-20 19:12:02

+0

非常感謝,正確的位置 - 在2分鐘內回答! – megaSteve4 2011-12-20 19:23:50

1

存儲過程沒有,UDF(用戶定義函數)可能?因爲肯定它不是已知的MSSQL函數。

2

dbo.UKIPBN是用戶定義的函數。它是標量函數。試試Programmability -> Functions -> Scalar-Valued Functions找到它。