mysql - mysql日期时间中的零是什么意思?
问题描述
在我的 MySQL 数据库表中,我有一列用于日期时间字段。我正在使用 jQuery 日期时间选择器来插入日期和时间。例如,来自文本框的值被插入到数据库中:
2018-09-01 00:00:00
日期没问题。但我想知道这些时间格式的零是什么意思?这次可以吗?如果我将在 PHP 中进行一些基于日期时间的计算,那么它会导致计算错误吗?
解决方案
引用MySQL 文档:
DATETIME 类型用于同时包含日期和时间部分的值。MySQL 以 'YYYY-MM-DD HH:MM:SS' 格式检索和显示 DATETIME 值。支持的范围是“1000-01-01 00:00:00”到“9999-12-31 23:59:59”。
因此,存储在 MySQL 中的时间是 24 小时格式。所以,基本上00:00:00代表午夜(12:00:00 AM)
此外,MySQL 还允许存储微秒。再次引用文档:
DATETIME 或 TIMESTAMP 值可以包括以微秒(6 位)精度为单位的尾随小数秒部分。特别是,插入到 DATETIME 或 TIMESTAMP 列中的值中的任何小数部分都会被存储而不是被丢弃。包含小数部分后,这些值的格式为“YYYY-MM-DD HH:MM:SS[.fraction]”,DATETIME 值的范围为“1000-01-01 00:00:00.000000”到“9999” -12-31 23:59:59.999999',TIMESTAMP 值的范围是 '1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。小数部分应始终与其余时间用小数点分隔;不识别其他小数秒分隔符。
推荐阅读
- php - 文档末尾的额外内容 XML PHP RSS
- r - 如何在ggplot网格中添加表格
- homebrew - 如何 brew install --cask itch.app 到 /Applications
- python - 将表情符号解析为单词 nlp
- angular - 在 Nativescript + Angular App 中以编程方式设置 ListPicker.selectedIndex
- wordpress - wordpress 的 Ajax 过滤器
- git - 限制可以为 PR 选择的基础分支
- android - 在 Android SDK 的 Stripe AddPaymentMethodActivity 中找不到 Builder 符号
- python - 添加到列表(识别输入是否为素数)
- r - 成对子串一个数据框并将它们保存在一个列表中