T-SQL - function with default parameters

前端 未结 4 2036
傲寒
傲寒 2020-11-27 14:45

I have this script:

CREATE FUNCTION dbo.CheckIfSFExists(@param1 INT, @param2 BIT = 1 )
RETURNS BIT
AS
BEGIN
    IF EXISTS ( bla bla bla )
        RETURN 1;
          


        
4条回答
  •  悲&欢浪女
    2020-11-27 14:54

    you have to call it like this

    SELECT dbo.CheckIfSFExists(23, default)
    

    From Technet:

    When a parameter of the function has a default value, the keyword DEFAULT must be specified when the function is called in order to retrieve the default value. This behaviour is different from using parameters with default values in stored procedures in which omitting the parameter also implies the default value. An exception to this behaviour is when invoking a scalar function by using the EXECUTE statement. When using EXECUTE, the DEFAULT keyword is not required.

提交回复
热议问题