【问题标题】:Scalar UDF expression table-troubleshoot标量 UDF 表达式表疑难解答
【发布时间】:2021-08-15 09:13:07
【问题描述】:

为什么打电话给我: 消息 208,第 16 层,状态 1,第 1 行 无效的对象名称“udf_string”。 调用时如下所示:

select * 
from [database].[udf_string]('Lorem ipsum dolor sit amet', ' ', 3)

UDF 代码如下所示:

alter FUNCTION [dbo].[udf_string]
(
    @start_str varchar(130),
    @split_str varchar(130),
    @element_index int
)
RETURNS  varchar(130)
AS
BEGIN
declare @final_str varchar(130)

        select @final_str = concat_ws('',a_split.t_val ,'')
        from ( 
        SELECT value as t_val , 
        ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS str_num 
        FROM STRING_SPLIT(@start_str, @split_str)
        ) a_split 
        where a_split.str_num = @element_index
        return @final_str

 
END

【问题讨论】:

    标签: user-defined-functions


    【解决方案1】:

    我的错,查询应该是这样的:

    select [database].[udf_string]('Lorem ipsum dolor sit amet', ' ', 3)
    

    因为这不是表函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多