首页 > 技术文章 > 数据库存储时间数据用timestamp 好还是 varchar好

wobeinianqing 2017-06-29 14:28 原文

表示日期数据基本是date型,只有年月的用varchar2或者char,好处见下:
1、数据规范。date对合法日期型会校验,包括闰年2月这种。避免字符型变量产生的某月32号,日期长度不对,日期格式不统一等问题。曾经有过痛苦经历,面对字符型的2013111这种数据不知道是11月1日还是1月11日,只想说日…
2、检索效率。如果你经常在where后面带这个日期,或者要给这个字段建索引。你可以试试date和char的差别,更别说分区索引了。
3、计算方便。当你计算两个日期差几天,你是愿意对着char写个function判断大月小月闰月呢,还是直接拿date变量date1-date2呢?当你要批量把日期往后延50天的话,你是愿意写一大段存储过程呢,还是直接update table set date1=date1+50呢?

如果date型变量就是一个char(14)的话,那根本不值得被单独创建出来,既然存在,那就一定有特殊意义和使用价值。


作者:梦遗的新娘
链接:https://www.zhihu.com/question/25541686/answer/31068450
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

推荐阅读