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(丢失一些小的精度不影响比较结果)
最通用的比较方式。
待续。。。。