7.110.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)
|
可
|
可
|
可
|
可
|
可
|
可
|
可
|
可
|
可
|
可
|
可
|
可
|
|