Mega Code Archive

 
Categories / MySQL / Date Time
 

If you pass TIME_TO_SEC( ) a date-and-time value, it extracts the time part and discards the date

mysql> 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,     -> TIME_TO_SEC(dt) AS 'time part in seconds',     -> SEC_TO_TIME(TIME_TO_SEC(dt)) AS 'time part as TIME'     -> FROM datetime_val; +---------------------+----------------------+-------------------+ | dt                  | time part in seconds | time part as TIME | +---------------------+----------------------+-------------------+ | 1970-01-01 00:00:00 |                    0 | 00:00:00          | | 1987-03-05 12:30:15 |                45015 | 12:30:15          | | 1999-12-31 09:00:00 |                32400 | 09:00:00          | | 2000-06-04 15:45:30 |                56730 | 15:45:30          | +---------------------+----------------------+-------------------+ 4 rows in set (0.00 sec) mysql> mysql> drop table datetime_val; Query OK, 0 rows affected (0.00 sec) mysql> mysql> mysql> mysql> CREATE TABLE timestamp_val     -> (     ->  ts      TIMESTAMP     -> ); Query OK, 0 rows affected (0.00 sec) mysql> mysql> mysql> INSERT INTO timestamp_val (ts) VALUES('1970-01-01 00:00:00'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO timestamp_val (ts) VALUES('1987-03-05 12:30:15'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO timestamp_val (ts) VALUES('1999-12-31 09:00:00'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO timestamp_val (ts) VALUES('2000-06-04 15:45:30'); Query OK, 1 row affected (0.00 sec) mysql> mysql> SELECT * FROM timestamp_val; +---------------------+ | ts                  | +---------------------+ | 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> SELECT ts,     -> TIME_TO_SEC(ts) AS 'time part in seconds',     -> SEC_TO_TIME(TIME_TO_SEC(ts)) AS 'time part as TIME'     -> FROM timestamp_val; +---------------------+----------------------+-------------------+ | ts                  | time part in seconds | time part as TIME | +---------------------+----------------------+-------------------+ | 1970-01-01 00:00:00 |                    0 | 00:00:00          | | 1987-03-05 12:30:15 |                45015 | 12:30:15          | | 1999-12-31 09:00:00 |                32400 | 09:00:00          | | 2000-06-04 15:45:30 |                56730 | 15:45:30          | +---------------------+----------------------+-------------------+ 4 rows in set (0.00 sec) mysql> mysql> mysql> drop table timestamp_val; Query OK, 0 rows affected (0.00 sec)