2

在创建表时,我定义了一列DATE类型和一列TIME类型。当我使用php scriptlike 插入值时:

date--> 2013-11-11
time--> 12:12:12

当我查询 sql 浏览器时,我以完全相同的方式看到这些值。但我不知道它存储date和的格式time。喜欢yyyy-mm-ddyyyy-dd-mm

有什么办法可以改变吗?

4

5 回答 5

1

日期和时间以“YYYY-MM-DD”和“YYYY-MM-DD HH:MM:SS”格式存储在 MySQL 中,这不一定是您希望在网页或应用程序中显示的格式。有两种方法可以将日期和时间重新格式化为所需的格式。一种是在 MySQL 的 SQL 查询中调用 DATE_FORMAT() 函数,另一种是使用编程语言从 MySQL 数据库中检索数据。

于 2013-03-18T13:04:10.113 回答
1

MySQL 5.1开始:

DATE 类型用于具有日期部分但没有时间部分的值。MySQL 以 'YYYY-MM-DD' 格式检索和显示 DATE 值。支持的范围是“1000-01-01”到“9999-12-31”。

对于第二个问题:您不能更改存储的默认 DATE 格式,另请参阅此问题

于 2013-03-18T13:04:19.157 回答
0

日期时间为 Ymd H:i:s 格式,或年月日和时分秒。如果只使用一部分,格式保持不变。

如果你想改变格式,有很多方法。最简单的方法是做类似的事情return date("Y-d-m H:i:s", strtotime($mysqldatetime));(将其变成荷兰日期);

请记住,您使用的是两个单独的列,一列用于时间,一列用于日期。如果您只使用一列,则缺失值将填充默认值(时间为00:00:00,日期为1970-01-01

于 2013-03-18T13:01:22.417 回答
0

http://dev.mysql.com/doc/refman/5.5/en/datetime.html

MySQL 以 'YYYY-MM-DD' 格式检索和显示 DATE 值

http://dev.mysql.com/doc/refman/5.5/en/time.html

MySQL 以 'HH:MM:SS' 格式检索和显示 TIME 值

我不相信这可以改变。但你不在乎。DATE_FORMAT()您可以使用和TIME_FORMAT()函数以您喜欢的格式提取日期和时间。

于 2013-03-18T13:04:53.633 回答
0

如果您想知道 Date 列的内部存储,您可以查看Date and Time Data Type Representation,但我认为您想选择不同格式的日期;其他人已经回答了这个问题。

它以 3 个字节存储,并且始终为 YYYY-MM-DD。

于 2013-03-18T13:06:21.423 回答