qsh          x大类1        1
大类1        1
大类2        2
大类1        1
大类3        3
大类1        1
大类2        2

解决方案 »

  1.   

    @1, @2, @3这些参数有什么用?
    在函数体中不能有查询语句.楼主还是将全部的需求说出来吧.如果只是说对于不同的@x返回不同的值的话,
    那用一个case语句就可以了.
      

  2.   

    @1, @2, @3这些参数相对固定的,@x是灵活变动的我只是要求对于不同的@x返回不同的值case语句我不懂,请教一下,应该怎么写,并且添加在我这段已经写好的函数的什么位置!谢谢
      

  3.   

    --不好意思, 没办法在楼主的基础上改.(因为我觉得你那个根本就不可能运行成功)
    --我写了一个小sample, 你看看有没有什么帮助. (你给出全部的需求, 我有把握搞定你的问题)
    create function fun_t(@x int)
    returns varchar(10)
    begin
      declare @str varchar(10)
      set @str=case @x
           when 1 then '大类1' 
           when 2 then '大类2' 
           when 3 then '大类3' 
           end     
      return @str
    end
    go
    --使用示例
    select dbo.fun_t(2)
    --清除
    drop function fun_t