Скалярная таблица выражений UDF-устранение неполадок

#user-defined-functions

Вопрос:

Почему вызов возвращает меня: Msg 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
 

Ответ №1:

Мой плохой, запрос должен выглядеть так:

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

Потому что это не функция таблицы.