小编典典

MySQL日期格式

mysql

当我创建一个表并在mysql中创建类型为date的字段时,它会像0000-00-00一样存储日期。可以将格式更改为“ dm-Y”吗?


阅读 499

收藏
2020-05-17

共1个答案

小编典典

转到MySQL参考-10.5。数据类型存储要求

搜索: 日期和时间类型的存储要求

日期在内部存储为 A three-byte integer packed as DD + MM×32 + YYYY×16×32

但是,如果您选择 显示 日期列,则必须以 某种 方式 显示 它,因此它会以0000-00-00的形式出现。它 不会
以该特定格式存储为char(10)。

如果需要显示特定格式,可以使用Date_Format()将其转换为特定格式的VARCHAR
。但是,请记住,如果要在编程工具中使用查询,则 不需要 执行此操作。您想要原始 日期值
,出于显示目的,无论您使用哪种编程环境,都会有一个类似的格式化功能。

从DATE_FORMAT的参考中可以看到,您将需要使用 '%d-%m-%Y' ,例如

SELECT col1, col2, DATE_FORMAT(datecolumn, '%d-%m-%Y') AS datecolumn, more1...
FROM sometable
....
2020-05-17