OCONV機能

構文

OCONV (string, conversion)

説明

OCONV関数を使用して、文字列を外部出力用に指定されたフォーマットに変換する。 結果は常に文字列式である。

文字列は、conversionで指定された外部出力フォーマットに変換される。

変換は、値マーク(ASCII 253)で区切られた1つ以上の変換コードを評価しなければならない。

複数のコードが使用される場合、それらは左から右に次のように適用される:一番左の変換コードが文字列に適用され、次に右の変換コードが最初の変換結果に適用され、以下同様である。

文字列がヌル値として評価される場合、ヌルが返される。 変換がNULL値と評価された場合、OCONV関数は失敗し、プログラムはランタイム・エラー・メッセージとともに終了する。

OCONV機能では、PICKフレーバーの終了コードも使用できる。

STATUS関数は、変換結果を反映します:

0
変換は成功した。
1
無効な文字列がOCONV関数に渡され、元の文字列が変換値として返される。 無効な文字列がヌル値の場合、ヌルが返される。
2
変換コードが無効です。
3
無効である可能性のあるデータの変換に成功。

文字列の内部フォーマットへの変換については、ICONV関数を参照のこと。

以下の例は日付の変換を示している:

ソース行
換算値
DATE=OCONV('9166',D2")
3 Feb 93
date=oconv(9166,'d/e')
3/2/1993
DATE=OCONV(9166,'DI')1
3/2/1993
DATE=OCONV('9166',D2-")
2-3-93
date=oconv(0,'d')
31 Dec 1967

1、'IN2、PICK、REALITYのフレーバーアカウント用。

以下の例は、時間変換を示している:

ソース行
換算値
TIME=OCONV(10000,"MT")
02:46
TIME=OCONV("10000","MTHS")
02:46:40am
TIME=OCONV(10000,"MTH")
02:46am
TIME=OCONV(10000,"MT.")
02.46
TIME=OCONV(10000,"MTS")
02:46:40

以下の例は、16進数、8進数、2進数の変換を示している:

ソース行
換算値
hex=oconv(1024, "mx")
400
hex=oconv('CDE',"MX0C")
434445
oct=oconv(1024, "mo")
2000
oct=oconv('CDE',"MO0C")
103104105
bin=oconv(1024, "mb")
10000000000
bin=oconv('CDE',"MB0C")
010000110100010001000101

以下の例は、マスクされた10進数変換を示している:

ソース行
換算値
X=OCONV(987654,MD2")
9876.54
X=OCONV(987654,MD0")
987654
X=OCONV(987654,MD2,$")
$9,876.54
X=OCONV(987654,MD24$")
$98.77
X=OCONV(987654,MD2-Z")
9876.54
X=OCONV(987654,MD2,D")
9,876.54
X=OCONV(987654,MD3,$CPZ")
$987.654
X=OCONV(987654,MD2,ZP12#")
####9,876.54