我是否应该将Employee StartDate存储为DT_Date,DT_DBDate或DateTime2

我有一个新的员工跟踪应用程序,我正在build设。 我正在使用SSIS将数据从Excel电子表格导入MSSQL 2016数据库。 我是否应该将员工StartDate信息转换并保存为“DT_Date”,“DT_DBDate”或“DateTime2”?

在我看来,我应该将其保存为一个DT_DBDatetypes,因为一个人join的时间与我的应用程序永远不相关。 然而,我担心的是,我可能会限制自己能够在将来做诸如date时间算术之类的事情,并且无法find何时使用不同datetypes的任何地方的文章。 我希望得到什么types,我应该select以及为什么的任何build议。

根据我处理Excel源数据的经验,当涉及到datetime / date字段时,将它们视为string,并使用派生列转换将数据修改为您所需的数据types。 你可能会遇到奇怪的问题。 如果您的结束列是date,那么DT_DBDATE或者您的结束列是date时间DT_DBDATETIME。