dynamic partition の落とし穴

例えば、int型のdayという項目をpartition にしている場合、dynamic パーティションを使うと、dayにint以外のデータが入ってしまうケースがある。
その場合、day を例えば以下のように範囲指定すると、クエリ実行後しばらくして NullPointerException になってしまう。

where day >= 20110101 and day <= 20110331

dynamic パーティションでデータを突っ込む際は、SELECT 分のWhere句などで異常値が入らないようにすること。
例えばこんな感じ。

INSERT Tabel ・・・PARTITION(day)
select day, ・・・
from ・・・
where day >= 20110101 and day<= 20111231
・・・