sql 自定义函数 ,where后拼接条件跳转语句,实现可变参数查询

时间:2021-07-17 02:50:42

and ( @kscode is null or ( tbzdqk.kscode = @kscode and @kscode is not null ) )  在where 条件语句之后加上如此 语句即可实现。

其中 @kscode就是那个可变参数,这里我将@kscode这个参数默认设为 null。

函数定义(关键看@kscode的定义)如下:

ALTER FUNCTION [dbo].[FeatureStat]

 -- Add the parameters for the function here
 @Annual smallint , @kscode nvarchar(15) = null
)
RETURNS @StatTB TABLE( coverArea float , destroyArea float , recoveryArea float , solidStock float , waterLossArea float ,disasterNum int )
AS
begin

..........

...................