MySQL保存日期,用哪种数据类型合适

看白癜风需要多少钱 http://m.39.net/pf/bdfyy/

日期算是我们在日常开发中经常用到的数据类型,一般来说一张表都有createTime和updateTime字段,MySQL中针对日期也提供了很多种不同的数据类型,如:

datetimetimestampint

等等。甚至也有人直接将日期存为字符串的。

那么到底该用哪种类型来保存日期呢?

1.字符串

在这些类型中,首先应该排除掉的就是字符串了,很多新手小伙伴爱用字符串存储日期,但实际上这并不是一个很好的方案。

使用字符串存储日期,第一个显而易见的问题就是无法使用MySQL中提供的日期函数,这会为很多查询带来不便。

?

例如用户表中有一个字段birthday,表示用户的生日,现在想要查询出生的所有用户,如果birthday是日期类型,就可以使用YEAR函数,但是如果birthday是字符串类型,这个问题就不太好处理了。

使用字符串存储日期的第二个问题就是占用空间较大,例如存储如下时间:

-01-:00:00

如果使用字符串,需要19个字节。如果使用datetime需要8个字节。如果使用timestamp需要4个字节。

所以首先排除掉字符串。

2.DATETIMEVSTIMESTAMEP2.1占用空间

DATETIME在数据库中存储的形式为:YYYY-MM-DDhh:mm:ss,至于占用的字节数,则看情况,我们来看一段来自MySQL


转载请注明:http://www.aierlanlan.com/cyrz/312.html