Mega Code Archive

 
Categories / MySQL / Date Time
 

Decomposing Dates or Times Using Component-Extraction Functions

mysql> Function                  Return Value YEAR( )                   Year of date MONTH( )                  Month number (1..12) MONTHNAME( )              Month name (January..December) DAYOFMONTH( )             Day of month (1..31) DAYNAME( )                Day of week (Sunday..Saturday) DAYOFWEEK( )              Day of week (1..7 for Sunday..Saturday) WEEKDAY( )                Day of week (0..6 for Monday..Sunday) DAYOFYEAR( )              Day of year (1..366) HOUR( )                   Hour of time (0..23) MINUTE( )                 Minute of time (0..59) SECOND( )                 Second of time (0..59) mysql> mysql> CREATE TABLE datetime_val     -> (     ->  dt      DATETIME     -> ); Query OK, 0 rows affected (0.00 sec) mysql> mysql> mysql> INSERT INTO datetime_val (dt) VALUES('1970-01-01 00:00:00'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO datetime_val (dt) VALUES('1987-03-05 12:30:15'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO datetime_val (dt) VALUES('1999-12-31 09:00:00'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO datetime_val (dt) VALUES('2000-06-04 15:45:30'); Query OK, 1 row affected (0.00 sec) mysql> mysql> SELECT * FROM datetime_val; +---------------------+ | dt                  | +---------------------+ | 1970-01-01 00:00:00 | | 1987-03-05 12:30:15 | | 1999-12-31 09:00:00 | | 2000-06-04 15:45:30 | +---------------------+ 4 rows in set (0.00 sec) mysql> mysql> mysql> SELECT dt,     -> YEAR(dt), DAYOFMONTH(dt),     -> HOUR(dt), SECOND(dt)     -> FROM datetime_val; +---------------------+----------+----------------+----------+------------+ | dt                  | YEAR(dt) | DAYOFMONTH(dt) | HOUR(dt) | SECOND(dt) | +---------------------+----------+----------------+----------+------------+ | 1970-01-01 00:00:00 |     1970 |              1 |        0 |          0 | | 1987-03-05 12:30:15 |     1987 |              5 |       12 |         15 | | 1999-12-31 09:00:00 |     1999 |             31 |        9 |          0 | | 2000-06-04 15:45:30 |     2000 |              4 |       15 |         30 | +---------------------+----------+----------------+----------+------------+ 4 rows in set (0.00 sec) mysql> mysql> drop table datetime_val; Query OK, 0 rows affected (0.00 sec)