我在一个MySQL数据库中有下表:
+----------+---------------------+-----------------+---------------+
| id | firstName | lastName | tstamp |
+----------+---------------------+-----------------+---------------+
| 133 | James | Mosher | 1589470887919 |
| 145 | Bill | Turner | 1589470888235 |
| 146 | Jeremy | Vine | 1589470888592 |
| 152 | Ramon | Jesus | 1589470889319 |
+----------+---------------------+-----------------+---------------+
我希望能够以人类可读的日期时间格式看到tstamp列。 我尝试了以下查询,但它没有工作,给了我一个空白列。 有人知道我做错了什么吗?
选择id,名字,姓氏,tstamp,FROM_UNIXTIME(tstamp,“%y%d%m%h:%i:%s”)作为来自学生的时间和日期;
结果:
+----------+---------------------+-----------------+---------------+---------------+
| id | firstName | lastName | tstamp | timeAndDate |
+----------+---------------------+-----------------+---------------+---------------+
| 133 | James | Mosher | 1589470887919 | |
| 145 | Bill | Turner | 1589470888235 | |
| 146 | Jeremy | Vine | 1589470888592 | |
| 152 | Ramon | Jesus | 1589470889319 | |
+----------+---------------------+-----------------+---------------+---------------+
示例->; https://www.db-fiddle.com/f/nfsntkfnydbcbs8pdgbcdq/0
时间戳包含毫秒。
如果除以1000,则可以删除这些时间戳:
SELECT id, firstName, lastName, tstamp,
FROM_UNIXTIME(tstamp / 1000, '%Y %D %M %H:%i:%s') AS timeAndDate
FROM myTable;
请参阅演示。
看评论,但我猜你想要的是这样的东西。。。
SELECT DATE_FORMAT(FROM_UNIXTIME(1589470887919/1000),'%Y %d %m %H:%i:%s') x;
+---------------------+
| x |
+---------------------+
| 2020 14 05 16:41:27 |
+---------------------+