目前我正在使用以下代码在mysql中创建一个表。
CREATE TABLE example(id INT, ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
所以每当我在这个表中插入数据时,我都会得到ts的值(YEAR-MONTH-DATE HOURS-MINUTE-SECOND)格式,我希望在(DATE-MONTH-YEAR HOURS)中更改它-MINUTE-SECOND),假设我已经使用
insert into example (id) values (123);
当我使用
select * from example;
+------+---------------------+
| id | ts |
+------+---------------------+
| 123 | 2014-07-28 17:17:10 |
+------+---------------------+
我以这种格式2014-07-28 17:17:10
获取日期时间,我想将其更改为28-07-2014 17:17:10
,是否可以更改时间戳的格式?如果是,那我们该怎么做呢?
答案 0 :(得分:4)
您应格式化ts输出,例如:
SELECT id, DATE_FORMAT(ts, '%d-%m-%Y %H:%i:%s') FROM example
这是您需要了解的内容。 TIMESTAMP
数据类型具有明确定义的内部格式。内部格式的设计使MySQL可以轻松搜索和操作它。 (如果您愿意的话,它是UNIX / Linux time_t
数据类型的变体。)您无法更改该格式。
当您要求MySQL呈现时间戳时,它会使用您问题中显示的默认格式显示它。您可以做的是将其格式化以便显示,就像本答案中的示例所示。