蓝盟IT小贴士,来喽!
1 .不要用字符串保存日期
我记得在大学的时候做过。 而且我还记得现在不太了解数据库的初学者也很多。 保存这些日期的好处还是简单、直率、方便使用。
但是,这是一种错误的方法,主要存在两个问题:字符串占用更多空间。字符串中存储的日期比较不高效(按字符匹配),因此无法使用与日期相关的API进行计算或比较。
2.Datetime和Timestamp的选择
Datetime和Timestamp是MySQL提供的两种相对类似的保留时间数据类型。 他们俩到底该怎么选择呢?
Timestamp通常优先。 让我解释一下你为什么这么做
2.1 DateTime类型没有时区信息
DateTime类型没有时区信息(无论时区如何),DateTime类型存储与当前会话中设置的时区对应的时间。 这样会有什么问题呢? 在更改您的时区后,例如,更改服务器地址或更改客户端连接时区的设置,将导致数据库出现时间错误。例如。 不要轻视这个问题。 许多系统在这个问题上编了许多笑话。
Timestamp与时区有关。 Timestamp类型字段的值随服务器时区的变化而变化,并自动转换为适当的时间。 简单的一点是,不同的时区在同一记录中查询的字段值不同。