sql2000 判断问题新手判断数据大于小于0,大于0显示1,小于等于0,显示0
表1id  数据
1    12
2     5
3     3
4     0 
..
得表2
id  数据 大小
1    12   1
2     5   1
3     3   1
4     0   0
..

解决方案 »

  1.   


    declare @表1 table (id int,数据 int)
    insert into @表1
    select 1,-2 union all
    select 2,-5 union all
    select 3,6 union all
    select 4,4 union all
    select 5,0select *,(sign(数据)+1)/2 as 大小 from @表1
    /*
    id          数据          大小
    ----------- ----------- -----------
    1           -2          0
    2           -5          0
    3           6           1
    4           4           1
    5           0           0
    */
      

  2.   


    SELECT id, 数据, 大小 = CASE 数据 
        WHEN 数据 > 1 THEN 1
        WHEN 数据 <= 0 THEN 0
    FROM 表名
      

  3.   


    SELECT id, 数据, 大小 = CASE 数据 
        WHEN 数据 > 1 THEN 1
        ELSE 0
        END
    FROM 表名
      

  4.   

    SELECT id, 数据,  CASE  WHEN 数据 > 1 THEN 1 ELSE 0  END as 大小  FROM 表