如何更改默认CURRENT_TIMESTAMP格式
目前我正在使用以下代码在MySQL中创建一个表。
CREATE TABLE example(id INT, ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
这样每当我往这个表里插入数据时,ts的值就会以(年份-月份-日期 小时-分钟-秒)格式显示。我想把这个格式改成(日期-月份-年份 小时-分钟-秒)。假设我用以下代码往刚创建的表里插入数据:
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
。请问可以改变时间戳的格式吗?如果可以的话,应该怎么做呢?
1 个回答
5
你应该格式化时间戳的输出,比如:
SELECT id, DATE_FORMAT(ts, '%d-%m-%Y %H:%i:%s') FROM example
这里有几点你需要明白的。TIMESTAMP
数据类型有一个明确的内部格式。这个内部格式的设计是为了让 MySQL 能够轻松地搜索和处理它。(如果你感兴趣的话,它是 UNIX/Linux 中 time_t
数据类型的一种变体。)你不能改变这个格式。
当你请求 MySQL 显示一个时间戳时,它会用你问题中提到的默认格式来展示。你可以做的是对它进行格式化,以便更好地显示,就像这个答案中的例子所演示的那样。