1

mySQL 中的日期数据类型的格式为 yyyy-mm-dd。我希望它将日期存储为 dd-mm-yyyy。

所有答案都显示了如何以特定格式显示日期。但是我想修改 MySQL 存储日期的格式。

反正我能做到这一点吗?

4

4 回答 4

1

您不能更改 MSQL 日期存储格式。您可以DATE_FORMAT()用于以您的显示格式显示它。

根据您的评论进行编辑:-

 INSERT INTO useless_table (id, date) VALUES(
        1, STR_TO_DATE('06/08/2013', '%m/%d/%Y'));
于 2013-08-06T17:19:29.690 回答
1

您无法更改数据库存储日期的方式。

这些存储为 YYYY-MM-DD 以便使用字典顺序对日期进行排序。任何其他格式都会失去该属性,因此数据库服务器将无法有效地对日期进行排序。

正如您显然已经被告知的那样,您可能会更改SELECT查询中的日期格式。如果您真的想使用其他格式存储日期,您可能必须使用CHAR(10)列。

如果您这样做,您将能够在该列中搜索相等性。但不要按日期排序。既不能在给定范围内找到日期。

于 2013-08-06T17:48:53.953 回答
0

日期和时间以 SQL 引擎原生的内部格式存储在 SQL 数据库中,前 4 个字节存储自 SQL Server 纪元(1900 年 1 月 1 日)以来的天数。第二个 4 字节存储午夜后的毫秒数。

您不应该关心日期的存储方式。您可以以您喜欢(或需要)的任何格式检索日期(或日期/时间)。

于 2013-08-06T17:21:22.200 回答
0

假设列名是时间,可以使用下面的sql

SELECT YEAR(time) as year, MONTH(time) as month, DAY(time) as day FROM table

然后,随心所欲。

于 2013-08-06T17:24:34.610 回答