如下:
select col1, A=case when col1 in ('TC001','TC002','TC003') 0 else col1 in ('TC005','TC006') 2
ELSE 3 END FROM TABLE有没有这样的写法?
或者该怎么实现这样的功能?

解决方案 »

  1.   


    select 
    col1, 
    A=case when col1 in ('TC001','TC002','TC003') Then 0 when col1 in ('TC005','TC006') Then 2 ELSE 3 END
     FROM TABLENAME
      

  2.   

    select col1, A=case when col1 in ('TC001','TC002','TC003') then 0 when col1 in ('TC005','TC006') then 2
    ELSE 3 END FROM TABLE
      

  3.   

    select col1, A=case when col1 in ('TC001','TC002','TC003') 0 else col1 in ('TC005','TC006') 2
    ELSE 3 END FROM TABLE
    1,有这样的写法
    2,不过楼主,你写的有点错误, 把第一个else改成when即可了
      

  4.   

    但是不知道怎么显示A的值,
    在其它地方可以用print,
    存储过程里用什么啊!谢谢。
      

  5.   

    YiZhiNet(YiZhi.Net) ( ) 信誉:100  2006-08-01 15:05:00  得分: 0  
     
     
       但是不知道怎么显示A的值,
    在其它地方可以用print,
    存储过程里用什么啊!谢谢。
      
     
    --------------
    沒明白,你這樣查詢不就可以顯示出來嗎?
      

  6.   

    例如:
    select @SerialNO=(select dbo.Fct_GoodsTypeShort(SerialNO,1) from morout where RoutSerialNO='' + @RoutSerialNO + '')可不可以去掉引号,RoutSerialNO是字符型字段select @SerialNO=(select dbo.Fct_GoodsTypeShort(SerialNO,1) from morout where RoutSerialNO= @RoutSerialNO )
    -------另问如何加分?我现在只给了20分,我还剩20分如何加到这个帖?
      

  7.   

    更看不懂了select @SerialNO=(select dbo.Fct_GoodsTypeShort(SerialNO,1) from morout where RoutSerialNO= @RoutSerialNO )這樣有什麼問題?
      

  8.   

    case 的格式是 case ……
    when …… then……
    when …… then……
    else ……
    end只能有一个else
      

  9.   

    paoluo(一天到晚游泳的鱼) ( ) 信誉:100  2006-08-01 15:32:00  得分: 0  更看不懂了
    ---------------------------------------------
    RoutSerialNO='' + @RoutSerialNO + ''
    RoutSerialNO= @RoutSerialNO 
    这两种写法是不是一样的?
    我试了都可以,但是为什么不用加''呢?-------另告诉我如何给帖加分。