If you store the whole date (i.e. 20120123) as a character string, the hexadecimal representation will be 0x3230313230313233, where 32 = 2, 30 = 0, etc., which is 8 bytes (i.e. 32 30 31 32 30 31 32 33) memory
In packed decimal format, the representation of the same line will be: 0x020120123F F is a bit to show that it is an unsigned integer. The remaining numbers are stored as half bytes for each digit. Thus, you can see that the general date string is inserted into the 5 byte field (i.e. 02 01 20 12 3F).
So, to use this in SSIS, you probably have to do it like @billinkc above and use the Script transformation to convert the field. The mechanics of this will be to count the numbers in your number, pad from 0 to the left to get your characters to 9 for comp-3 5 and 7 for comp-3 4, and then build a hexadecimal string with numbers from your date or time and add F at the end (or C if your destination is expecting a signed number).
source share