谢谢万斑和D侠!在论坛上写些东西是作为论坛一份子的责任和义务,没有什么值得夸奖的。对于万斑和D侠发表的精彩观点,我非常的佩服,也非常希望能够当面向万斑、D侠及各位大侠请教。
对于D侠提出的日期/时间存储的问题,我也来说两句。
首先,在SQL SERVER中,DATETIME类型实际是一个8字节的DOUBLE(类型),对应关系举例如下:
0 12/30/1899 00:00 am
2.75 1/1/1900 6:00 pm
-1.25 12/29/1899 6:00 am
35065 1/1/1996 12:00 am
DOUBLE类型的整数部分代表从12/30/1899 00:00 am起已经过去的天数。小数部分代表一天24小时。SQL SERVER中DateTime类型的精度能达到毫秒级。
在写入数据库时,我们可以采用字符串(须满足SQL SERVER的格式)或者双精度,当采用字符串时,ODBC驱动(或者SQL SERVER)能够自动的把字符串格式的日期/时间转化为DateTime类型进入存储。
在查询数据库,或者从数据库读数据时,ODBC驱动可以根据客户程序的设置把DATETIME类型转化为字符串或者双精度进行显示(直接用SELECT 语句查询,显示出来的是字符串)。
所以,我建议还是日期/时间存储还是采用DATETIME类型,采用字符串太浪费存储空间,采用双整数精度只能到“天”。呵呵,既然微软已经帮你设计了DATETIME类型,还是采用DATETIME吧。
管理员注:本帖已被纳入此次探讨发帖整理之技巧总结,请
点此详阅