MySQL日期格式

Soh*_*put 10 mysql date

当我创建一个表并在mysql中创建一个date类型的字段时,它会将日期存储为0000-00-00.是否可以将格式更改为"dm-Y"?

Ric*_*iwi 12

转到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
....
Run Code Online (Sandbox Code Playgroud)


Pen*_*m10 5

不,这是不可能的.但是你可以使用DATE_FORMAT来选择那种方式.

SELECT Date_format(mydatefield, '%d-%m-%Y') 
FROM   table 
Run Code Online (Sandbox Code Playgroud)