在生成选定的输出之前,编写一个调用用户定义函数作为查询的一部分的 sql 查询的最佳方法是什么。即我想做类似下面的事情,我用户定义的函数对表数据进行一些计算。
select field1, field2 from table1 where function(table1.field3, table1.field4) > 10
在生成选定的输出之前,编写一个调用用户定义函数作为查询的一部分的 sql 查询的最佳方法是什么。即我想做类似下面的事情,我用户定义的函数对表数据进行一些计算。
select field1, field2 from table1 where function(table1.field3, table1.field4) > 10
您的(标量)函数:
CREATE FUNCTION my_function (@a AS int, @b AS int)
RETURNS int
BEGIN
RETURN @a * @b
END
您的查询:
SELECT field1, field2
FROM table1
WHERE dbo.my_function(table1.field3, table1.field4) > 10
别忘了dbo
in dbo.my_function
。用户定义的标量函数需要它。
存储过程可以很好地发挥作用,或者只是为了编写数学/字符串条件。取决于你的情况有多复杂。