7.108.4 自由形式のSELECT-SQLの強制変換

以下の表は、列のフィールド・タイプとLANSAフィールド・タイプが同じでない状況でSELECT_SQLを使用したときに予測される結果の例です。このような場合、強制変換が必要になります。

検査値はすべて数値です。Alpha/Stringフィールドに数値以外のデータが含まれる場合、数値への強制変換は定義されていません。結果が0になる場合と、数値以外の文字が無視され、残りが変換される場合と、異常終了する場合があります。

値のオーバーフローについては定義されていないことに注意してください。例えば、数値がフィールドに収まらない場合、値の左または右が切り捨てられるか、または不確定の値になる可能性があります。System iでは、通常、致命的エラーになります。

表中「NO」と記載されている場合、強制変換は実行されますが、形式設定要件により、有効な強制変換が実行されることは稀です。

 

ターゲット・フィールド・タイプ

Windows Packed (63,0)

RDMLX IBM i Packed (63,0)

Windows Alpha

RDMLX IBM i Alpha

Windows Signed (63,0)

RDMLX IBM i Signed (63,0)

Windows Char (300)

RDMLX IBM i Char(300)

Windows Date

RDMLX IBM i Date

Windows Int 4

RDMLX IBM i Int 4

Char (65535)

異常終了

異常終了

Signed (63,0)

不可

Time

不可

異常終了

不可

異常終了

不可

異常終了

不可

異常終了

不可

不可

異常終了

異常終了

Date

不可

異常終了

不可

異常終了

不可

異常終了

不可

異常終了

異常終了

異常終了

Binary

異常終了

異常終了

不可

不可

異常終了

異常終了

Alpha

異常終了

異常終了

Signed (63,63)

不可

不可

不可

Date Time

不可

異常終了

不可

異常終了

不可

異常終了

不可

異常終了

不可

不可

異常終了

異常終了

Packed (63,0)

不可

Char (300)

異常終了

異常終了

Packed (63,63)

不可

不可

不可

Integer (4)

Float(8)