数据库中存储日期的字段类型到底应该用varchar还是datetime

Posted 爱不绝迹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中存储日期的字段类型到底应该用varchar还是datetime相关的知识,希望对你有一定的参考价值。

将数据库中存储时间的数据类型改为varchar(),这时最好让这些时间是数据库中自动生成的(一个没有格式的输入也可能会导致输出错误),因为存储类型为varchar(),所以获取到的值也就被认为是一个字符串,直接将数据库中的时间字符串进行转化(这时那些转化函数是能识别数据库中的时间函数的),客户端的时间格式不再影响转换过程。

不过数据库中存储时间的类型如果为字符型也会带来一些麻烦:

数据库中的时间仅仅是用来显示、查找的,那么影响还不算大,但如果对时间字段进行一些算法如计算星期、DateDiff、DateAdd等,那就麻烦了,尤其实在大型数据查询中转换类型是会影响效率的

总结

数据库中存储日期的字段类型到底应该用varchar还是datetime ?这两种方法各有优势,datetime可以借用sql函数库中运算函数,增加了时间在各种运算上的效率;而varchar类型则可以在字符编码上显出优势。在 存储的时间将来不需要进行大量计算 的前提下,可以考虑选择varchar类型,反之,选择datetime类型。

以上是关于数据库中存储日期的字段类型到底应该用varchar还是datetime的主要内容,如果未能解决你的问题,请参考以下文章

Oracle中日期字段未定义日期类型的案例一则

Mysql存储日期类型用inttimestamp还是datetime?

数据库的日期类型字段该如何选择

MySQL的数据类型 及注意事项

[django]用日期来查询datetime类型字段

[django]用日期来查询datetime类型字段