mySQL 中的日期数据类型的格式为 yyyy-mm-dd。我希望它将日期存储为 dd-mm-yyyy。
所有答案都显示了如何以特定格式显示日期。但是我想修改 MySQL 存储日期的格式。
反正我能做到这一点吗?
您不能更改 MSQL 日期存储格式。您可以DATE_FORMAT()
用于以您的显示格式显示它。
根据您的评论进行编辑:-
INSERT INTO useless_table (id, date) VALUES(
1, STR_TO_DATE('06/08/2013', '%m/%d/%Y'));
您无法更改数据库存储日期的方式。
这些存储为 YYYY-MM-DD 以便使用字典顺序对日期进行排序。任何其他格式都会失去该属性,因此数据库服务器将无法有效地对日期进行排序。
正如您显然已经被告知的那样,您可能会更改SELECT
查询中的日期格式。如果您真的想使用其他格式存储日期,您可能必须使用CHAR(10)
列。
如果您这样做,您将能够在该列中搜索相等性。但不要按日期排序。既不能在给定范围内找到日期。
日期和时间以 SQL 引擎原生的内部格式存储在 SQL 数据库中,前 4 个字节存储自 SQL Server 纪元(1900 年 1 月 1 日)以来的天数。第二个 4 字节存储午夜后的毫秒数。
您不应该关心日期的存储方式。您可以以您喜欢(或需要)的任何格式检索日期(或日期/时间)。
假设列名是时间,可以使用下面的sql
SELECT YEAR(time) as year, MONTH(time) as month, DAY(time) as day FROM table
然后,随心所欲。