SQL Server2005 自定义函数如何实现参数可选,像系统函数 STR ( float_expression [ , length [ , decimal ] ] ) 这样的?

解决方案 »

  1.   

    写函数的时候,输入函数设置允许原则的默认为NULL就可以了
    比如:
    @id int
    @name varchar(10)=null
      

  2.   

    if @参数 is null 
      

  3.   

    例如:USE pubs
    GO
    CREATE FUNCTION SalesByStore (@par1 varchar(30),@par2 varchar(30))
    RETURNS TABLE
    AS
    begin
    if @par1...
    RETURN (SELECT title, qty
          FROM sales s, titles t
          WHERE s.stor_id = @storeid and
          t.title_id = s.title_id)
    else
      return ...end
      

  4.   

    多定义几个参数,每一个都设定默认为NULL 
      

  5.   

    create function test(@a int=32,@b bit)
    returns varchar(200)
    as
    ...goselect dbo.test(default,1)