Date data type manipulation : Date Function « Date Time « SQL / MySQL






Date data type manipulation

 
/*

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 | 0000-00-00 |
| RedBird  | Yin   | Bus     | m    | 1998-01-30 | NULL       |
+----------+-------+---------+------+------------+------------+
3 rows in set (0.00 sec)

mysql> SELECT name, birth, death,
    ->        (YEAR(death)-YEAR(birth)) - (RIGHT(death,5)<RIGHT(birth,5))
    ->        AS age
    ->        FROM Bird WHERE death IS NOT NULL ORDER BY age;
+---------+------------+------------+-------+
| name    | birth      | death      | age   |
+---------+------------+------------+-------+
| RedBird | 1979-04-30 | 0000-00-00 | -1980 |
+---------+------------+------------+-------+
1 row 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',1998-01-30);
INSERT INTO  Bird VALUES ('RedBird','Yin','Bus','m','1998-01-30',NULL);
  
select * from Bird;
  
SELECT name, birth, death,
       (YEAR(death)-YEAR(birth)) - (RIGHT(death,5)<RIGHT(birth,5))
       AS age
       FROM Bird WHERE death IS NOT NULL ORDER BY age;

           
         
  








Related examples in the same category

1.Get Day of Month for a date
2.Get the YEAR part of the date
3.Birthdays in the upcoming month
4.DATE_ADD() add a time interval to a given date
5.Calculation on Date data type
6.Date Calculations: calculate ages
7.Date Calculations: extract parts of dates
8.Get sub date
9.Decomposing Dates or Times Using String Functions substrings.
10.Pull out the entire date or time part from DATETIME values using string-extraction functions such as LEFT( ) o