比如说一个表table里有个字段叫‘aaa’
select case aaa when...then...end from table和  select case whenthen
有什么区别  

解决方案 »

  1.   

    --CASE表达式
    SELECT ename, 
    (CASE deptno
      WHEN 10 THEN 'ACCOUNTING'
      WHEN 20 THEN 'RESEARCH'
      WHEN 30 THEN 'SALES'
      WHEN 40 THEN 'OPERATIONS'
      ELSE 'Unassigned'
      END ) as Department
    FROM emp;
    --CASE语句
    CASE employee_type
    WHEN 'S' THEN
       award_salary_bonus(employee_id);
    WHEN 'H' THEN
       award_hourly_bonus(employee_id);
    WHEN 'C' THEN
       award_commissioned_bonus(employee_id);
    ELSE
       RAISE invalid_employee_type;
    END CASE;
    CASE
    WHEN salary >= 10000 AND salary <=20000 THEN
       give_bonus(employee_id, 1500);
    WHEN salary > 20000 AND salary <= 40000 THEN
       give_bonus(employee_id, 1000);
    WHEN salary > 40000 THEN
       give_bonus(employee_id, 500);
    ELSE
       give_bonus(employee_id, 0);
    END CASE;CASE
    WHEN salary > 40000 THEN
       give_bonus(employee_id, 500);
    WHEN salary > 20000 THEN
       give_bonus(employee_id, 1000);
    WHEN salary >= 10000 THEN
       give_bonus(employee_id, 1500);
    ELSE
       give_bonus(employee_id, 0);
    END CASE;
      

  2.   

    噢   谢谢ls的     那我想问问  在select中 作用是一样的吗?