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)
Related examples in the same category