SSIS 转化前后日期比较-1

    不同的region settings对于SSIS package中的数据格式有很大影响,日期格式就是最常见也是最头疼的一个。

     如:9999-12-31 23:59:59 +00:00(DT_DBDATESTAMP2OFFSET) 在有一些历法中会超过能表示的范围。

          02/01/1009 是英文的表示形式,01.02.1009  是德文的表示形式。

     常用的比较方法:

     1. Compare String

          将前后的数据用 .tostring 转化为string比较     

     适用情况:同一个DB或是数据源

     错误情况:不同的locale setting的OS之间

     注意:数据转化的时候“0”的问题,类型转化的时候09999 与 9999 是不同的,但是出现这样的情况是可能的

     2. Compare datetime

          将前后的数据用 DateTime.Parse()转化为string比较

     适用情况:同一个DB或是数据源,具有相同locale OS的数据源

     错误情况:不同的locale setting的OS之间

     注意:最好转化的时候加上cultureinfo或是timeformat等信息

     3. Compare ticks

          将日期转化为相对于同一个其实年份的ticks, datetime.ticks/1000000(丢失一些小的精度不影响比较结果)

     最通用的比较方式。

 

 

 

待续。。。。

          

posted @ 2009-02-25 16:41  refeiner  阅读(659)  评论(0编辑  收藏  举报