我的功能如下:select score from comparestrings(@String1,@string2)
我需要将表中的每一行(@ string2)与@ string1进行比较。没有While循环和光标可以吗?
我的功能来自simmetrics库
功能代码如下:
ALTER FUNCTION
[dbo].[BlockDistance](@firstword [nvarchar](255), @secondword [nvarchar](255))
RETURNS [float] WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [TextFunctions].[StringMetrics].[BlockDistance]
答案 0 :(得分:2)
comparetrings是一个返回表的UDF吗?
相反,只需让它返回scalar value
并执行此操作:
select comparestrings(@string1, tablestring) from yourtable
答案 1 :(得分:1)
请勿逐行调用。
如果输入是来自同一行的常量或列,则逐行存储 computed column。
ALTER TABLE Mytable ADD
Score AS comparestrings(Col1,Col2)
然后你可以PERSIST它并将其编入索引