相关疑难解决方法(0)

Sql Server确定性用户定义函数

我有以下用户定义的函数:

create function [dbo].[FullNameLastFirst]
(
    @IsPerson bit,
    @LastName nvarchar(100),
    @FirstName nvarchar(100)
)
returns nvarchar(201)
as
begin
    declare @Result nvarchar(201)
    set @Result = (case when @IsPerson = 0 then @LastName else case when @FirstName = '' then @LastName else (@LastName + ' ' + @FirstName) end end)
    return @Result
end
Run Code Online (Sandbox Code Playgroud)

我无法使用此函数在计算列上创建索引,因为它不是确定性的.有人可以解释为什么它不是确定性的,最终如何修改以使其具有确定性?谢谢

sql function calculated-columns non-deterministic sql-server-2008

31
推荐指数
2
解决办法
2万
查看次数