将数据库 datetime 拆分成年、月、日多个字段的时候要注意

作者:vkvi 来源:千一网络(原创) 日期:2012-3-2

为了统计时编程方便,有些开发者喜欢把数据库表中的日期字段拆成多个字段,比如拆成 int 类型的年、月、日三个字段。

必要性

这样做也不是没有必要,它有一种方便性,比如要统计 2012 年的,就直接写“年=2012”,要统计所有年 3 月的,就直接写“月=3”,此点是一个 datetime 日期字段不好办到的。

还有,如果要按周、旬、半月、季、半年这些来统计,再增加相应的字段就更方便了,因为在 datetime 中并不能直接的体现这些值。

注意事项

一是要使用统一入口进行数据更新管理,避免形成 13 月这种情况,虽然可以用约束控制月份不要超过 12,但像闰年 2 月这些情况就更麻烦了。

二是要注意在查询时,避免像 datetime 一样来限定范围。比如:

where 年<=2012 and 月<=3

并不表示 2012 年 3 月及以前的记录,而是表示 2012 年及以前所有年 1-3 月的记录,若要表示 2012 年 3 月及以前的记录,则应该使用如下方式:

where (年<2012 or (年=2012 and 月<=3))

你前面那位网友看了:每日小段(2013-07-18)

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
赞助商们
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他