MySQL 日期格式

标签 mysql date

当我在 mysql 中创建一个表并创建一个日期类型的字段时,它存储的日期类似于 0000-00-00。是否可以将格式更改为“d-m-Y”?

最佳答案

转到 MySQL Reference - 10.5. Data Type Storage Requirements

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

日期在内部存储为 打包为 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
....

关于MySQL 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5367721/

相关文章:

PHP:在特定日期自动更新数据库字段,没有通过 cronjob 的脚本

java - JDatePicker 没有出现在 JFrame 上

mysql - SQL Between 查询无法正常工作

javascript - 相当于java中的javascript date.setUTCSeconds(s)

麻烦获取多个值的php代码

javascript - 获取div中元素的id,然后将它们组合成一个整数

mysql - 无法通过utf8编码在mysql数据库中插入中文(Warning 1336 incorrect string value)

Mysql - 选择有所有日期的房间

mysql - 在 MySQL 中生成动态数据透视表

mysql - MediumText 和 ASP/MySQL 的数据损坏