2011-12-20 128 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找到它。