Mega Code Archive

 
Categories / MySQL / Function
 

Function

/* mysql> Drop table Bird; Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE Bird (     ->     name VARCHAR(20),     ->     owner VARCHAR(20),     ->     species VARCHAR(20),     ->     sex CHAR(1),     ->     birth DATE,     ->     death DATE     -> ); Query OK, 0 rows affected (0.05 sec) mysql> INSERT INTO  Bird VALUES ('BlueBird','Joe','Car','f','1999-03-30',NULL); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO  Bird VALUES ('RedBird','Yin','Bus','m','1979-04-30',NULL); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO  Bird VALUES ('RedBird','Yin','Bus','m','1998-01-30',NULL); Query OK, 1 row affected (0.00 sec) mysql> select * from Bird; +----------+-------+---------+------+------------+-------+ | name     | owner | species | sex  | birth      | death | +----------+-------+---------+------+------------+-------+ | BlueBird | Joe   | Car     | f    | 1999-03-30 | NULL  | | RedBird  | Yin   | Bus     | m    | 1979-04-30 | NULL  | | RedBird  | Yin   | Bus     | m    | 1998-01-30 | NULL  | +----------+-------+---------+------+------------+-------+ 3 rows in set (0.01 sec) mysql> /*how old each a Bird is*/ mysql> SELECT name, birth, CURDATE(),     ->        (YEAR(CURDATE())-YEAR(birth))     ->        - (RIGHT(CURDATE(),5)<RIGHT(birth,5))     ->        AS age     ->        FROM  Bird ORDER BY age; +----------+------------+------------+------+ | name     | birth      | CURDATE()  | age  | +----------+------------+------------+------+ | BlueBird | 1999-03-30 | 2005-10-09 |    6 | | RedBird  | 1998-01-30 | 2005-10-09 |    7 | | RedBird  | 1979-04-30 | 2005-10-09 |   26 | +----------+------------+------------+------+ 3 rows in set (0.00 sec) */ Drop table Bird; CREATE TABLE Bird (     name VARCHAR(20),      owner VARCHAR(20),     species VARCHAR(20),      sex CHAR(1),      birth DATE,      death DATE );    INSERT INTO  Bird VALUES ('BlueBird','Joe','Car','f','1999-03-30',NULL); INSERT INTO  Bird VALUES ('RedBird','Yin','Bus','m','1979-04-30',NULL); INSERT INTO  Bird VALUES ('RedBird','Yin','Bus','m','1998-01-30',NULL);    select * from Bird;    /*how old each a Bird is*/    SELECT name, birth, CURDATE(),        (YEAR(CURDATE())-YEAR(birth))        - (RIGHT(CURDATE(),5)<RIGHT(birth,5))        AS age        FROM  Bird ORDER BY age;