sql - SQL Server 存储过程/查询的解释

标签 sql sql-server sql-server-2005 stored-procedures

我希望有人能解释这个 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)),''))
)

我知道如果它们为空,则 db vars 会将它们重置为 '' 并修剪它们,然后将它们连接在一起管道分隔。

这是我不明白的一点

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

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

它似乎不是一个表/var 或另一个存储过程 - 有人可以解释它在这个布局中可能是什么/做什么。

最佳答案

dbo.UKIPBN 是一个标量用户定义函数。在 Management Studio 中查看 Programmability -> Functions -> Scalar-Valued Functions 以找到它。

关于sql - SQL Server 存储过程/查询的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8580601/

相关文章:

c# - Azure 数据库的 DATEADD 函数

java - 如何使用 Hibernate Criteria API 从连接表中选择不同的表?

sql - 在 VBA 代码中运行更新查询

sql - 设置快照隔离不反射(reflect)

javascript - 在 Node.js 中使用 mongoose 样式模式 MSSQL

sql - 如何在 SQL Server 2005 中的一条语句中更新两个表?

sql - 按天分组数据

sql - 在 SQL Server 中验证数字的最佳方法

sql-server - 创建数据库错误: cannot create file

mysql - 按集合中最多标签排序