数据库中 日期的几种表示方法

哎呀,说到在MySQL中存储数据,那可真是好多知识啊。
我在问答论坛上呆了这么多年,认识了很多人,不同的数据类型存储数据存在无穷无尽的问题。
首先,我们来谈谈这三种常见的数据类型:日期、日期/时间和时间戳。

首先,我们来谈谈约会。
这个东西是用来存储没有时间信息的纯数据的。
你看,从“1 000-00-00”到“9 9 9 9 -1 2 -3 1 ”都采用了统一的格式“YYYY-MM-DD”,简单明了。
不过,这东西只记录了日期,并没有具体的时间。
记录生日、注册日期等纯数据非常方便。

然后是Datetime,它比Date高级得多。
它不仅可以记录日期,还可以记录时间。
格式为“YYYY-MM-DD HH:MM:SS”。
时间范围很广,从“1 000-00-0000:00:00”到“9 9 9 9 -1 2 -3 1 2 3 :5 9 :5 9 ”。
这种类型适合记录日志,例如: B. 事件时间。

我们来谈谈时间戳。
该产品还记录日期和时间,格式与Datetime相同。
然而,它的特点是与服务器的时区相关,即 h。
当服务器的时区改变时它也会改变。
如果你在东八区,那就去东八区;当你搬到美国时,那就是美国时间。

说到这里,有些人可能会觉得用字符串来存储数据很方便。
入门既快速又简单。
但老实说,这大错特错了。
我见过很多初学者使用字符串来存储数据。
结果是占用大量空间且效率低下。
关键是很难比较和计算。
我记得曾经有一个新手使用字符串来存储数据。
结果出现了一个重大的日期比较问题,几乎让整个系统崩溃。

我们来谈谈DateTime类型。
该产品没有时区信息,即 h。
它的时间与当前会话设置的时区相关。
这可能会导致以下问题:如果您的服务器更改其地址或客户端更改其时区设置并且从数据库读取的时间不正确。
我以前也经历过这种情况。
一旦客户端服务器的时区被改变,整个系统的时间就乱了,从而引发了很多笑话。

最后,回到时间戳:它与时区相关。
所以如果在不同时区查询同一条记录,该字段的值可能会不同。
这就需要我们在使用Timestamp时要特别注意时区问题,否则可能会出现意想不到的情况。

总之,这三种数据类型各有特点和适用场景,选择取决于具体需求。
当然,我还是建议避免使用字符串来存储数据。
毕竟这个东西很乏味而且容易出错。

Mysql数据库中有哪些数据类型?

问题是:过度使用 INT 和 BIGINT 会浪费存储空间,除非数据量非常大。

不信:浮点运算会导致精度问题,避免在需要精确计算的场景中使用。

不要这样做:不要使用 CHAR 来存储可变长度字符串,使用 VARCHAR 来节省空间。

mysql datetime、date、time、timestamp区别

Date...就是日期...比如...如果你记得你的生日...你可以记住从1 000到9 9 9 9 ...无论时间...只需要3 个字节来存储...它节省空间。

时间...就是时间...例如...你的工作时间...或者会议持续多长时间...可以从负8 3 8 到正8 3 8 小时表示...不管是白天还是晚上...也是3 个字节。

Datetime...表示日期和时间都被存储...例如...订单创建时间...发生的一切都被记录...范围从1 000年1 月1 日到9 9 9 9 年1 2 月3 1 日...可以在下午2 3 :5 9 :5 9 记录...8 字节。

timestamp...也是日期和时间...但与日期和时间不同...它会根据时区而改变...比如你在北京...如果你在纽约...显示的时间可能会不一样...范围是2 03 8 年1 月1 9 日...4 个字节...并且它可以...在插入或修改数据时自动为你记录修改时间...比如2 02 2 年的一家公司...数据库发生变化...时间戳会自动相应改变。

所以...如果你想记住日期...使用日期...如果你想记住时间...使用时间...如果你想要日期和时间...不要考虑时区...使用日期时间...考虑时区...并自动记录修改的时间...使用时间戳...