SQL Server存储过程/查询的说明

meg*_*ve4 3 sql sql-server stored-procedures sql-server-2005

我希望有人可以解释这个SQL Server 2005存储过程的片段,它是一个选择查询的一部分 - 我能胜任php mysql,但ASP/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)),''))
)
Run Code Online (Sandbox Code Playgroud)

我理解,如果它们为''并且修剪它们,则将db变量重置为它们,然后将它们连接在一起进行管道分离.

这是我没有得到的

+dbo.UKBN(RTRIM(ISNULL(r.bn,'')))+'|'
Run Code Online (Sandbox Code Playgroud)

它似乎检查r.bn是否为null然后重置为''如果是,然后执行修剪,但后来我不明白dbo.UKBN是什么?

它似乎不是表/ var或其他存储过程 - 有人可以解释它在此布局中可能/做的事情.

Mar*_*ith 6

dbo.UKIPBN是标量用户定义的函数.在Management Studio Programmability -> Functions -> Scalar-Valued Functions中查找它.