Use case when clause to decode value : Case Query « Select Query « Oracle PL / SQL






Use case when clause to decode value

   

SQL> create table registrations
  2  ( attendee    NUMBER(4)
  3  , course      VARCHAR2(6)
  4  , begindate   DATE
  5  , evaluation  NUMBER(1)
  6  , constraint  R_PK        primary key (attendee,course,begindate)
  7  ) ;

Table created.

SQL>
SQL> insert into registrations values (2,'SQL',date '2009-04-12',4   );

1 row created.

SQL> insert into registrations values (14,'SQL',date '2009-04-12',5   );

1 row created.

SQL> insert into registrations values (6,'SQL',date '2009-04-12',4   );

1 row created.

SQL> insert into registrations values (11,'SQL',date '2009-04-12',2   );

1 row created.

SQL> insert into registrations values (8,'SQL',date '2009-10-04',NULL);

1 row created.

SQL> insert into registrations values (9,'SQL',date '2009-10-04',3   );

1 row created.

SQL> insert into registrations values (13,'SQL',date '2009-10-04',4   );

1 row created.

SQL> insert into registrations values (13,'SQL',date '2009-12-13',NULL);

1 row created.

SQL> insert into registrations values (6,'SQL',date '2009-12-13',NULL);

1 row created.

SQL> insert into registrations values (3,'OAU',date '2009-08-10',4   );

1 row created.

SQL> insert into registrations values (12,'OAU',date '2009-08-10',4   );

1 row created.

SQL> insert into registrations values (13,'OAU',date '2009-08-10',5   );

1 row created.

SQL>
SQL> select attendee, begindate
  2  ,      case evaluation
  3              when 1 then 'bad'
  4              when 2 then 'mediocre'
  5              when 3 then 'ok'
  6              when 4 then 'good'
  7              when 5 then 'excellent'
  8                     else 'not filled in'
  9         end
 10  from   registrations
 11  where  course = 'SQL';

  ATTENDEE BEGINDATE  CASEEVALUATIO
---------- ---------- -------------
         2 12-04-2009 good
        14 12-04-2009 excellent
         6 12-04-2009 good
        11 12-04-2009 mediocre
         8 04-10-2009 not filled in
         9 04-10-2009 ok
        13 04-10-2009 good
        13 13-12-2009 not filled in
         6 13-12-2009 not filled in

9 rows selected.

SQL>
SQL>
SQL> drop table registrations;

Table dropped.

   
    
    
  








Related examples in the same category

1.You could use the case statement in an SQL statement
2.Combine case with NVL function
3.Combine Case with group by
4.Use the CASE expression and SUM function
5.Use the CASE expression and SUM function to create an order price report
6.case switch based on clob data
7.Use case ... when to output comments for marks
8.Use case when and grouping function together
9.Use case when statement to replace if statement
10.Use case when statement with between ... and
11.Use case when statement with exists and subquery
12.Use case when statement with in()
13.Use case when statement with to_char() like
14.Use case when with comparasion operator
15.A searched CASE statement
16.use case when to control the order index
17.case when count(*) NOT between ... and
18.Rename case when column