我想让计算列持久化,但 TRY_PARSE 使我的函数变得非确定性。我可以用它做点什么吗?有替代品吗?
CREATE FUNCTION [dbo].[F]
(
@input nvarchar(100)
)
RETURNS int
WITH SCHEMABINDING
AS
BEGIN
return TRY_PARSE(@input as INT)
END
SELECT OBJECTPROPERTY(OBJECT_ID('[dbo].[F]'), 'IsDeterministic')
最佳答案
改用TRY_CONVERT
:
CREATE FUNCTION [dbo].[F]
(
@input nvarchar(100)
)
RETURNS int
WITH SCHEMABINDING
AS
BEGIN
return TRY_CONVERT(INT,@input)
END
SELECT OBJECTPROPERTY(OBJECT_ID('[dbo].[F]'), 'IsDeterministic')
关于sql-server - TRY_PARSE 使函数非确定性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40421748/