mssql sqlserver datetime存储类型选择(int,decimal ,varchar ,date)


摘要:
下文讲述sqlserver中datetime的存储类型选择,如下所示:
实验环境:sqlserver 2008 R2



一、int 、decimal 存储datetime类型

int 和decimal存储方式,首先需将datetime转换为int 或decimal类型放入数据库进行存储。
int类型存储最大精度为:日期
decimal类型存储最大精度:毫秒



二、varchar 存储datetime类型

varchar类型存储datetime,非常方便,只需将数据按照字符串的形式放入数据库中既可。
varchar存储数据占用空间非常大,例:存储年月日需要10个字节,而使用date类型只占用存储空间4个字节
varchar存储的日期数据,在查询检索时,需进行二次转换才可使用
varchar存储日期类型的最大优点,可以随意存储任意格式的日期样式



三、date 存储datetime类型

date类型是数据库中原生态数据类型,存储datetime数据最为方便和便捷,系统拥有多个原生态的函数支持对datetime类型的操作


综上所述:
当datetime存储后涉及相关计算时,我们可以采用date、int、decimal类型进行存储
如果datetime存储后不需进行相关运算,我们可以采用varchar类型进行存储