【问题标题】:MySQL - Date Column FormatMySQL - 日期列格式
【发布时间】:2013-06-18 07:34:57
【问题描述】:

我熟悉DATE_FORMAT 函数,它可以以指定的格式显示我的日期字段中的记录。但是,我想创建一个包含仅接受我的格式的日期字段的表。

这是我到目前为止所做的:

CREATE TABLE test_table (
id INT AUTO_INCREMENT, 
f_name VARCHAR(40) NOT NULL, 
l_name VARCHAR(25) NOT NULL, 
date_hired DATE NOT NULL
);

插入 date_hired 值为“2013-03-01”的记录将被插入为“1/03/2013 12:00:00 AM”,这与我的预期结果相差甚远(我希望采用这种格式它被插入)。任何反馈?我错过了什么?

谢谢,
迈克尔

【问题讨论】:

  • 在查询中使用DATE_FORMAT 对其进行格式化。 date 类型本身没有任何类型,以数字形式存储
  • 嗨@zerkms,我是MySQL的新手。 “以数字方式存储”是什么意思?
  • 忽略它并阅读整个评论。并另外检查dev.mysql.com/doc/refman/5.5/en/…
  • 日期以数字格式保存,不仅在 MySQL 中,而且在大多数数据库中。通常,任何日期都是与历史中预先定义的日期的时间差。因此,假设有 1900 年 1 月 1 日作为其预定义历史日期的数据库。现在,如果您想保存 2013 年 1 月 1 日,它将在内部计算从历史日期到您的日期的天数差异,并将其转换为毫秒(或刻度)并将最终数字保存在 db 中。当您想从数据库中读取日期字段时,将执行相反的过程。就在向用户显示结果之前,它会根据数据库设置显示格式

标签: mysql date format date-format


【解决方案1】:

您不能在表格创建期间更改格式,您可以通过使用您的编程逻辑来更改显示用户的日期格式,例如如果您使用 PHP 作为服务器端语言,您可以将其转换为您想要的格式。

【讨论】:

  • 如果这个正确答案有几个例子,以及对 PHP 日期格式的引用,我会赞成这个答案。
猜你喜欢
  • 2017-12-17
  • 2011-10-20
  • 2011-07-19
  • 2013-12-24
  • 2023-03-29
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
相关资源
最近更新 更多