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