mysql数据库日期字段数据类型

时间:2014-02-02 18:11:38

标签: php mysql

希望有人可以提供以下建议:

我在我的数据库中创建了一个表,其中的数据类型定义为DATE。正常的MySQL日期顺序是YYYY-MM-DD,但我需要以DD-MM-YYYY格式输入。

我使用php将数据插入到我的表中,我想知道我应该在什么时候转换日期格式。

总结一下,我问的是:

  1. 是否可以插入MySQL数据库,其中字段格式为DATE,日期格式为DD-MM-YYYY,而不是格式为YYYY-MM-DD?
  2. 如果不可能,我可以使用MySQL语法将格式为DD-MM-YYYY的PHP发布的值转换为YYYY-MM-DD格式,或者我应该使用PHP以YYYY-MM-DD格式发布值?
  3. 提前谢谢

3 个答案:

答案 0 :(得分:1)

您可以在INSERT中使用STR_TO_DATE将日期转换为ANSI标准日期格式。

INSERT INTO `table` (`date`) VALUES (STR_TO_DATE('01-05-2013','%d-%m-%Y'));

然后,您可以使用DATE_FORMAT将ANSI标准日期转换为您想要的格式。

答案 1 :(得分:0)

日期始终以相同的方式存储在数据库中。

插入时,您必须为数据库提供可以解析为日期的格式。当您从数据库中读取数据时,您可以以任何您喜欢的方式格式化日期。

因此,在插入正确的格式之前,您必须格式化数据。否则,DB无法将其存储为日期。

答案 2 :(得分:0)

你可以去不同的mysql网站获得这个答案。例如:

http://www.tutorialspoint.com/mysql/mysql-date-time-functions.htm

SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y');