见贴:
http://community.csdn.net/Expert/topic/5764/5764458.xml?temp=.9269068我建了一个函数.里面有个SQL 语句.
如果单独执行SQL语句,结果正确.运行正常.
如果执行select dbo.function('asfs')调用函数,结果为NULL. 不知道是为什么?
函数里的语句就是那个SQL,都是一样的.

解决方案 »

  1.   

    select dbo.function('asfs')
    你这个函数需要的参数是id字段的值
      

  2.   

    且一次只能指定一个。 。
    如select dbo.function(1)不能select dbo.function(1,2,3)
      

  3.   

    asfs是啥东西,你的把你的ID放进去,或者字段。
      

  4.   

    我改了一下,现在是个varchar.set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    ALTER function [dbo].[f_Region](@refno varchar)
    returns varchar(200)
    as
    begin
        declare @a varchar(200)
        set @a=''
        select @a=@a+','+ name 
        from table where refer = @refno
        set @a = stuff(@a,1,1,'')
        return  @a
    endselect dbo.f_region('aaa')结果为NULL
    但是:
       declare @a varchar(200)
        set @a=''
        select @a=@a+','+ name 
        from table where refer = @refno
        set @a = stuff(@a,1,1,'')
        select  @a
    结果正确.这是为什么啊为什么....
      

  5.   

    TNND,问题就在这个参数类型上.varchar(50)的,写成了varchar...参数没有传进去..谢谢大家了.