Archives of the TeradataForum
Message Posted: Thu, 01 Jun 2000 @ 12:19:23 GMT
David's got most of the options covered although here's a variation on what he suggests. Also, Bethany is correct in that your queries aren't finding any data because it's being loaded as 1900, not 2000.
Rather than doing the conversion using an ETL routine (aka Inmod or Access Module) you could Fastload to an intermediate table and then Insert/Select to the real target table. This has a couple of possible advantages (and possible disadvantages too !).
1. it's probably a lot easier and quicker to code this processing using SQL than using an ETL tool or hand-crafting a C or Cobol program. 2. if the intermediate table column holds the decimal value as a CHAR(5), when you Insert/Select that into the real table, because Teradata is now converting a character value with a two-digit year into a DATE value, it will honour the CenturyBreak setting on the machine. (BIG assumption here:- you want this honoured. There are ways around this if that's not what you want.)
Obvious downside is disk space and maybe processing time - you've (temporarily) got two copies of the data and you're processing it twice, but that may not be an issue.
Any questions, just ask.
P.S. David, you can't use CASE in Fastload. I sympathise with the "long day"!
|Copyright 2016 - All Rights Reserved|
|Last Modified: 28 Jun 2020|