映射平面文件日期和 sql 服务器日期查找编辑器
Mapping flat file dates and sql server dates lookup editor
我试图将许多平面文件属性导入大型数据库 table,但平面文件日期必须与 table 的日期相匹配。我正在使用 visual studio SSIS 执行此操作,因为有超过 500 个文件,我需要一种标准化的循环方式 them.The 平面文件具有超过 5 年的每日数据,而 table 只有大约 5数月的每日数据。过程图片如下:
两者都有正确的日期 format/type 但是,当我尝试使用查找转换编辑器的映射功能时,我发现数据库日期已转换为 database date [DT_DBDATE]
类型,而平面文件保持 date [DT_DATE]
类型。
有没有办法在查找工具中转换日期类型?如果有其他方法可以解决这个问题,我也愿意使用不同的 visual studio 工具。只要我只从平面文件中获取数据的子段。
解决方案
您可以通过添加派生列转换来解决此问题,该转换使用以下表达式添加类型为 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 服务器
我试图将许多平面文件属性导入大型数据库 table,但平面文件日期必须与 table 的日期相匹配。我正在使用 visual studio SSIS 执行此操作,因为有超过 500 个文件,我需要一种标准化的循环方式 them.The 平面文件具有超过 5 年的每日数据,而 table 只有大约 5数月的每日数据。过程图片如下:
两者都有正确的日期 format/type 但是,当我尝试使用查找转换编辑器的映射功能时,我发现数据库日期已转换为 database date [DT_DBDATE]
类型,而平面文件保持 date [DT_DATE]
类型。
有没有办法在查找工具中转换日期类型?如果有其他方法可以解决这个问题,我也愿意使用不同的 visual studio 工具。只要我只从平面文件中获取数据的子段。
解决方案
您可以通过添加派生列转换来解决此问题,该转换使用以下表达式添加类型为 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 服务器