SQL Server 2005

我想调用在SELECT语句中返回table的UDF,如下所示。

select *, GetIptoCountry(IP_address) as country from tblInfo

但我收到以下错误

“GetIptoCountry”不是公认的内置函数名称。
IP_addresstblInfo中的列。

我怎么能这样称呼UDF?

最佳答案

您必须使用函数的标准名称,包括模式名称:

例如(如果scema是dbo),则可以使用dbo.GetIptoCountry()调用该函数:

select *, dbo.GetIptoCountry(IP_address) as country from tblInfo

更新:

根据您的最后一条评论,您似乎拥有一个表值函数(将返回表行),而不是一个标量值函数(将返回值),因此可以这样进行调用:
Select * from dbo.GetIptoCountry('your_ip_adress');

您的最终查询如下所示:
select *
from tblInfo
cross apply dbo.GetIptoCountry(IP_address)  tblCountry

08-07 14:55