年-月の間隔の割り当てには、以下のルールが適用されます。
条件 | 結果 |
---|---|
タイプが一致する | 直接的な割り当てになる。 |
ソースがINTERVAL YEARでターゲットがINTERVAL YEAR TO MONTH | ターゲットのMONTHの値がゼロに設定される。 |
ソースがINTERVAL MONTHでターゲットがINTERVAL YEAR TO MONTH | ソースはゼロに初期化されているYEARフィールドが組み込まれるように拡張され、その結果の間隔が正規化される。 例えば、ソースが'15'の場合、拡張されたソースは'0-15'になり、'1-03'に正規化されます。 |
ターゲットがINTERVAL MONTHでソースがINTERVAL YEARかINTERVAL YEAR TO MONTH | 割り当ての前にソースがINTERVAL MONTHに変換される。 例えば、ソースが '2-11'の場合は'35'に変換されます。 |
ソースの最下位フィールドがターゲットの最下位フィールドより下位である | ソースのフィールドの値は、ターゲットの最下位フィールドより精度が細かいのものが切り捨てられる。 例えば、INTERVAL '32' MONTHのソースがタイプINTERVAL YEARのターゲット列に割り当てられた場合、格納される値は'2'になります。 |
日-時刻の間隔の割り当てには、以下のルールが適用されます。
条件 | 結果 |
---|---|
タイプが一致する | 直接的な割り当てになる。 |
ターゲットにソースの最下位フィールドより下位のフィールドがある | そのフィールドの値はゼロに設定される。 例えば、ソースがINTERVAL '49:30' HOUR TO MINUTEで、タイプINTERVAL HOUR(4) TO SECOND(2)のターゲットの列に割り当てられた場合、格納される値は'49:30:00.00'です。 |
ターゲットにソースの最上位フィールドより上位のフィールドがある | ソース タイプはターゲット タイプに一致するように拡張されて新規フィールドがゼロに設定され、最終ステップで内容が正規化される。 例えば、ソースがINTERVAL '49:30' HOUR TO MINUTEで、タイプINTERVAL DAY TO MINUTEのターゲットの列に割り当てられた場合、格納される値は'2 1:30'です。 |
ソースの最下位フィールドがターゲットの最下位フィールドより下位である | ソースのフィールドの値は、ターゲットの最下位フィールドより精度が細かいのものが切り捨てられる。 例えば、ソースがINTERVAL '10:12:58' HOUR TO SECONDであって、タイプINTERVAL HOUR TO MINUTEのターゲット列に割り当てられた場合、格納される値は'10:12'になります。 |