Re: Trying to create a table that has a PPI that partions by hour.
Depending on your version of Teradata, you can only partition by integer fields (or fields that can be expressed as integers, like dates). Timestamps don't qualify. I think that might be available in TD13.10, but I'm not sure.
There might be a workaround here though. If you're on TD12 or higher, you could attempt a multi-level partitioning scheme that takes the date portion as the top level partition and the hour portion as the sub-level partition:
PARTITIN BY RANGE_N(CAST(XYZ_Datetime AS DATE) BETWEEN '2006-02-10' AND '2011-02-10' EACH INTERVAL '1' DAY, CAST(EXTRACT(HOUR FROM XYZ_Datetime) AS INTEGER) BETWEEN 0 AND 23 EACH 1);
Warning: My syntax may not be 100% correct on that.