Mega Code Archive

 
Categories / MySQL / Function
 

Use case else to check the exceptions

mysql> mysql> CREATE   TABLE PENALTIES     ->         (PAYMENTNO      INTEGER      NOT NULL,     ->          EmployeeNO       INTEGER      NOT NULL,     ->          PAYMENT_DATE   DATE         NOT NULL,     ->          AMOUNT         DECIMAL(7,2) NOT NULL,     ->          PRIMARY KEY    (PAYMENTNO)          ); Query OK, 0 rows affected (0.00 sec) mysql> mysql> INSERT INTO PENALTIES VALUES (1,  6, '1980-12-08',100); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (2, 44, '1981-05-05', 75); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (3, 27, '1983-09-10',100); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (4,104, '1984-12-08', 50); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (5, 44, '1980-12-08', 25); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (6,  8, '1980-12-08', 25); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (7, 44, '1982-12-30', 30); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO PENALTIES VALUES (8, 27, '1984-11-12', 75); Query OK, 1 row affected (0.00 sec) mysql> mysql> mysql> SELECT   PAYMENTNO, AMOUNT     -> FROM     PENALTIES     -> WHERE    CASE     ->             WHEN AMOUNT >= 0 AND AMOUNT <= 40     ->                THEN 'low'     ->             WHEN AMOUNT > 40 AND AMOUNT <= 80     ->                THEN 'moderate'     ->             WHEN AMOUNT > 80     ->                THEN 'high'     ->             ELSE 'incorrect' END = 'low'; +-----------+--------+ | PAYMENTNO | AMOUNT | +-----------+--------+ |         5 |  25.00 | |         6 |  25.00 | |         7 |  30.00 | +-----------+--------+ 3 rows in set (0.00 sec) mysql> mysql> drop table penalties; Query OK, 0 rows affected (0.00 sec)