create function f_test
(
@x int = 1
)returns int
as
beginreturn 2end 这个函数带一个默认值
但是  这样调用却不行SELECT dbo.f_test(1)sql函数可不可以 选择参数个数比如说一个函数有两个参数  但调用的时候我想只写一个

解决方案 »

  1.   

    错了 我的意思  SELECT dbo.f_test() 不带参数调用 
      

  2.   

    sql函数可不可以 选择参数个数比如说一个函数有两个参数 但调用的时候我想只写一个不行,貌似问过了?
      

  3.   

    @parameter_name用户定义函数的参数。CREATE FUNCTION 语句中可以声明一个或多个参数。函数最多可以有 1,024 个参数。函数执行时每个已声明参数的值必须由用户指定,除非该参数的默认值已经定义。 如果函数的参数有默认值,在调用该函数时必须指定"default"关键字才能获得默认值。这种行为不同于存储过程中有默认值的参数,在存储过程中省略参数也意味着使用默认值。使用 @ 符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个函数的参数仅用于该函数本身;相同的参数名称可以用在其它函数中。参数只能代替常量;而不能用于代替表名、列名或其它数据库对象的名称
      

  4.   

    SELECT dbo.f_test(default),用default关键字获得默认值
      

  5.   

    @parameter_name用户定义函数的参数。CREATE FUNCTION 语句中可以声明一个或多个参数。函数最多可以有 1,024 个参数。函数执行时每个已声明参数的值必须由用户指定,除非该参数的默认值已经定义。 如果函数的参数有默认值,在调用该函数时必须指定"default"关键字才能获得默认值。这种行为不同于存储过程中有默认值的参数,在存储过程中省略参数也意味着使用默认值。使用 @ 符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个函数的参数仅用于该函数本身;相同的参数名称可以用在其它函数中。参数只能代替常量;而不能用于代替表名、列名或其它数据库对象的名称