フィールド・タイプ変換

LANSAで使用される基本的なフィールド・タイプのグループを以下に示します。

文字/文字列

英数字データ(SBCS、SBCSとDBCSの混合、またDBCSのみのいずれか)を保管します。タイプはAlpha、String、Char、およびCLOBです。

Unicode 文字/文字列

Unicode で英数字データを保管します。(文字/文字列はネイティブ・コードページで保管します)多言語でデータを損失することなく扱うことが可能です。タイプは NChar および NVarChar です。

数値

数値データをさまざまな形式で保管します。タイプはSigned、Packed、Integer、およびFloatです。

日付/時刻

日付と時刻のデータを保管します。タイプはDate、Time、DateTimeです。

バイナリー

バイナリー・データを保管します(このデータはコードページ変換に制約されません)。タイプは Binary、VarBinary、BLOB です。

LOB

非常に桁数の多い文字データまたはバイナリー・データを保管します。タイプはCLOB、BLOBです。

ブール値

真と偽の値を保管します。

 

次の表でグループ間におけるフィールド変換の概要を示します。Yesは、フィールド・タイプ・グループ間の変換が可能なことを表します。ただし、変換は常に正常に行われることを表すものではありません。例えば、DBCSデータからSBCSデータの変換、または"Hello world"などの値を数値に変換することはできません。

一般的な変換規則

変換元と
変換先

文字

Unicode 文字

数値

日付/時刻

バイナリ-

LOB 4

ブール値

文字

あり

あり 5

あり 1

あり 1

あり

あり

あり

Unicode 文字

あり

あり

あり

あり

あり

あり

あり

数値

あり

あり

あり

あり 2

なし

なし

あり

日付/時刻

あり

あり

あり 2

あり 3

なし

なし

なし

バイナリ-

あり

あり

なし

なし

あり

なし

なし

LOB 4

あり

あり 5

なし

なし

あり

あり

なし

ブール値

あり

あり

あり

なし

なし

なし

あり

 

 

上記の表に関する注記

1.  CLOBはファイル・ポインターとして扱われます。数値や日付/時間フィールド・タイプへの変換はサポートされていません。

2.  以下の変換はサポートされません。

3.  DateTime -> Date、およびDateTime -> Time の変換は明快です。

4.  LOBの「値」はファイル名です。したがって、変換の際にコピーされるのはファイル名で、データではありません。不適切なファイル名がLOBにコピーされると、ある段階で障害が発生します。

5.  Unicode 文字列からネイティブ文字列へ変換する場合、組み込みファンクション AsNativeString の使用が必要な場合があります。