【发布时间】:2012-01-23 15:29:55
【问题描述】:
我正在创建一个包含一些信息的 ASCII 输出文件,并且我的两个字段要求日期和时间位于压缩十进制字段 (COMP-3) 中。我正在使用 SQL 和 SSIS 来生成我的文件。
Field Name Format Length Picture
Date YYYYMMDD 5 S9(8) C-3
Time HHMMSS 4 S9(6) C-3
我搜索了多个站点,但仍然不知道如何将日期/时间转换为压缩十进制字段。任何帮助将不胜感激。
以下网站http://www.simotime.com/datapk01.htm#TablePackedDecimal 提供有关打包字段的信息。我了解如何使用打包字段,但并不真正了解如何打包字段。谢谢!
【问题讨论】:
-
一般的想法是您需要生成两个包含日期和时间值的整数字段
Derived Column Transformation。我对 COMP-3 感到很痛苦,但我怀疑这更多是源数据不良的一个因素。连接Script Transformation以将这些值转换为等效的二进制文件并写入文件。 -
我不确定在脚本转换中使用什么,因为我真的不明白我要转换成什么?因为我在上面列出的网站上看到了十六进制和二进制选项。我看不出日期 YYYYMMDD 是如何使用 Packed 方法放入 5 个字符中的。
-
您需要 C#/VB.NET 中的例程来操作
Row.Date和Row.TimeSO 和 google 上的常见问题 Convert unpacked deicmal
标签: sql ssis ascii comp-3 packed-decimal