映射平面文件日期和sql server日期查找编辑器

时间:2017-11-19 01:09:01

标签: sql-server visual-studio date ssis etl

我正在尝试将许多平面文件属性导入到大型数据库表中,并限制平面文件日期必须与表的日期匹配。我正在使用visual studio SSIS,因为有超过500个文件,我需要一种标准化的循环方式。平面文件的日常数据超过5年,而表格只有大约5个月的日常数据。该流程的图片如下:

enter image description here

两者都有正确的日期格式/类型但是,当我尝试使用查找转换编辑器的映射功能时,我发现数据库日期已转换为database date [DT_DBDATE]类型,而平面文件保持为{ {1}}类型。

enter image description here

有没有办法在查找工具中转换日期类型?如果还有其他方法可以解决这个问题,我也愿意使用不同的Visual Studio工具。只要我只从平面文件中获取数据的子段。

1 个答案:

答案 0 :(得分:1)

解决方案

您可以通过添加派生列转换来解决此问题,该转换使用以下表达式添加类型为DT_DBDATE的新列

(DT_DBDATE)[Date]

或者您可以使用数据转换转换

其他信息

根据this link

  • DT_DBDATE(数据库日期): 包含年,月和日的日期结构。
  • DT_DATE(日期): 包含年,月,日,小时,分钟,秒和小数秒的日期结构。小数秒具有7位数的固定比例。 DT_DATE数据类型使用8字节浮点数实现。天数以整数增量表示,从1899年12月30日开始,午夜为零时间。小时值表示为数字小数部分的绝对值。但是,浮点值不能代表所有实际值;因此,DT_DATE中可以显示的日期范围有限制。 另一方面,DT_DBTIMESTAMP由一个结构表示,该结构内部具有年,月,日,小时,分钟,秒和毫秒的单独字段。此数据类型对其可以显示的日期范围有更大的限制。

根据This Link,两种数据类型都以Date类型存储在SQL Server中