- 意味
- 出力フィールドの長さを指定します。
- 形式
len(length)
(a) valサブオペランドとの組み合わせ
csvfieldで指定されたセルから,lenで指定された長さのデータを挿入します。
lenが省略された場合,csvfieldで指定されたセルを挿入します。
●valがフィールド名の指定の場合
- 指定値
- 出力フィールドの長さを5桁以内の数字で指定します。
- 指定する長さは,属性によって形式と指定できる範囲が異なります。
- 指定できる長さの形式を次の表に示します。
表5-59 指定できる長さの形式
| 挿入するデータの属性 |
指定できる長さの形式 |
| 文字 |
j,c,q,w※ |
形式1 : len |
| u,v |
| d |
| 10進数 |
z |
形式2 : p [, s] |
| 日付 |
g |
形式3 : d , dateform |
| 日付時刻 |
h |
形式4 : datedigit [, timedigit] |
- 注※
- 入力データのエンコードの種別によって,マルチバイト文字の長さは異なります。詳細は「付録I.2 文字列データの扱い」を参照してください。
- 形式1 : len
- 属性が「j」,「c」,「q」,「w」,「u」,「v」または「d」のフィールド名を指定した場合に,文字データの最大バイト長を,10進数で指定します。
- 入力したセルデータを,「付録B CSVファイルのデータの扱い(SORT EEの機能)」に示す「内部データ形式(有効データ形式)」のとおりに正規化し,指定された長さを挿入します。
- 出力フィールドの長さを次の表に示す範囲で指定します。
表5-60 指定できる長さ
| 挿入するデータの属性 |
指定できる長さ(単位) |
| j,c,q,w※1 |
1〜4,096(バイト) |
| u,v |
1〜4,096(文字数)※2 |
| d |
1〜256(桁)※3 |
- 注※1
- 入力データのエンコードの種別によって,マルチバイト文字の長さは異なります。詳細は「付録I.2 文字列データの扱い」を参照してください。
- 注※2
- 「バイト長」ではなく「文字数」を指定してください。UnicodeのVS(Variation Selector,異体字セレクタ)は文字数に数えません。マルチバイト文字の扱いについては,「付録I.2(6) IVS対応」を参照してください。
- 注※3
- 「バイト長」ではなく数値の「桁数」を指定してください。数値データの扱いについては,「付録I.3 数値データの扱い」を参照してください。
- 入力フィールドの先頭が引用符の場合だけ,対の引用符で囲んだ範囲がエスケープされます。エスケープされた引用符は,2文字で1文字となります。また,入力フィールドの先頭および対の引用符は,有効バイト長に含まれません。詳細は,「付録B.4 引用符のエスケープ」を参照してください。
- 入力フィールドの先頭が引用符の場合,出力フィールドを引用符で囲んで出力します。
- フィールド属性が「j」,「c」,「q」,「w」で,マルチバイト文字(日本語)の途中で最大長を超えた場合でも,指定された長さを挿入します。「付録B.2 文字列データの端数処理」に示す端数処理は行いません。
- 形式2 : p [, s]
- 属性コード「z」のフィールド名を指定(calcに指定した計算式の結果を含む)した場合に,数値データの有効桁を10進数で指定します。
- p(precision:精度)は,数値データの総桁数を表します。pからsを引いた桁が整数部の有効桁となります。
- pに指定できる桁の範囲は,1〜38桁です。
- s(scale:位)は,数値データの小数部(小数点以下)の有効桁を表します。
- sに指定できる桁の範囲は,0〜p桁です(p以下の桁を指定 0≦s≦p)。p=sを指定した場合は,整数部の有効桁は0(整数部なし)となります。
- sを省略した場合は,小数部の有効桁は0(小数部なし)を仮定します。データ中に小数点を含まない場合は,sの指定は必要ありません。
- データ中には,0〜9の数字以外に,データを囲んでいる引用符(セルの先頭と末尾),符号,通貨記号,および桁修飾文字(コンマ,小数点,空白)を含められます。これらの文字を除いた内部データ形式に正規化し,指定された長さを挿入します。また,それぞれの除外文字は位置規則があります。違反するデータを検出した場合は,データ形式が不正と見なされ,KBLS2416-Eエラーとなります。除外文字の位置規則については,「付録B CSVファイルのデータの扱い(SORT EEの機能)」を参照してください。
- データ中の符号,通貨記号,桁修飾文字(コンマ,小数点,空白),およびデータを囲んでいる引用符(セルの先頭と末尾)は,有効桁に含まれません。有効桁の対象は,0〜9の数字だけです。
- データ中に小数点がある場合は,小数点位置を合わせて入力します。データ中に小数点がない場合は,データの末尾に小数点を仮定して入力します。詳細は,「付録B CSVファイルのデータの扱い(SORT EEの機能)」を参照してください。
- 実際に入力したデータの桁に過不足がある場合は桁調整を行います。詳細は,「付録B CSVファイルのデータの扱い(SORT EEの機能)」を参照してください。
- すべて空白のデータは,0(ゼロ)として入力します。
- 出力フィールドは,csvformatオペランドの桁の丸め方式サブオペランド,または環境ファイル「EXS_ROUND」指定した,丸め方式(四捨五入,切り捨て,切り上げのどれか)に従って,整数部または小数部を丸め処理します。サブオペランドおよびEXS_ROUNDの両方の指定を省略している場合,切り捨てられます。詳細は,「5.10.15(5) 桁の丸め方式サブオペランド」を参照してください。
- 形式3 : d , dateform
- 属性コード「g」のフィールド名を指定した場合に,日付データの有効桁,および書式番号を指定します。
- d(digit:桁)は,日付データの有効桁を表します。
- dateformは,日付データの書式を表します。
- 入力したセルデータを「付録B.3 日付データの端数処理」に示す「内部データ形式(有効データ形式)」のとおりに正規化し,指定された有効桁数を挿入します。
- 正規化では,入力データの左端から指定された書式に適用します。有効桁以降のデータは無視されます。
- dに指定できる桁の範囲は,書式によって異なります。指定できる桁の範囲を次の表に示します。
表5-61 指定できる桁の範囲
| dateform(書式) |
データ形式※1 |
d(桁)※2 |
| 1 |
前置4桁年号 |
4,6,8(桁) |
| 2 |
後置4桁年号 |
2,4,8(桁) |
| 3 |
前置2桁年号 |
2,4,6(桁) |
| 4 |
後置2桁年号 |
2,4,6(桁) |
- 注※1
- データ形式については,「3.2 キー属性と形式」を参照してください。
- 注※2
- dに指定できる桁の範囲以外を指定した場合は,KBLS2408-Eエラーとなります。
- データ中には,データを囲んでいる引用符(セルの先頭と末尾)と年月日を区切る桁修飾文字を含むことができます。これらの文字は有効桁に含まれません。日付データの形式については「3.2 キー属性と形式」を参照してください。
- 入力データの年号部分が数字「0〜9」以外を指定した場合,データ形式が不正と見なされ,KBLS2416-Eエラーとなります。なお,年号以外のデータ(月,日)は,形式チェックしません。
- 入力データがNULLセル(空のセル)の場合,「0000年00月00日」を仮定し,指定された桁で出力します。
- 桁修飾文字は,「ハイフン(-)」と「スラント(/)」の2種類です。
- 環境変数「EXSORTGOPTION(64ビット版は「EXSORT64GOPTION」)」を指定すると,「年月日{T|空白}時分秒」形式の入力データを扱えます。また,桁修飾文字は,「ハイフン」,「スラント」および「ピリオド(.)」の3種類に変更されます。環境変数については,「14.1.1(29) EXSORTGOPTION」または「14.1.2(29) EXSORT64GOPTION」を参照してください。
- 形式4 : datedigit [, timedigit]
- 属性コード「h」のフィールド名を指定した場合に,日付および時刻データの有効桁を10進数で指定します。
- datedigitは,日付データの有効桁を表します。
- timedigitは,時刻データの有効桁を表します。
- 入力したセルデータを「付録J 日付時刻データの形式(SORT EEの機能)」に示す「内部データ形式(有効データ形式)」のとおりに正規化し,指定された有効桁数を挿入します。
- 正規化では,入力データを項目の区切り文字で区切り,それぞれのデータの左端から日付時刻の書式に適用します。有効桁以降のデータは無視されます。
- datedigitに指定できる桁は0,4,6または8桁です。timedigitに指定できる桁は0,2,4,6または9桁です。それ以外を指定した場合は,KBLS2408-Eエラーになります。また,datedigitとtimedigit両方に0を指定した場合もKBLS2408-Eエラーになります。
- 入力データがNULLセル(空のセル)の場合,「19700101T000000000(1970年01月01日00時00分00秒000ミリ秒)」を仮定し,指定された桁で出力します。
- データ中には,データを囲んでいる引用符(セルの先頭と末尾),項目区切り文字('T'または空白),および桁修飾文字(スラント,ハイフン,コロン,およびピリオド)を含めることができます。これらの文字は有効桁に含まれません。また,12時間制表記も有効桁に含まれません。日付時刻データの形式については,「3.2 キー属性と形式」を参照してください。
- 入力データが数字「0〜9」以外を指定した場合,データ形式が不正と見なされ,KBLS2416-Eメッセージが表示されてエラーになります。また,年の桁数が4桁未満,または入力データが指定できる範囲を超えた場合もエラーとなります。
- csvformatでは,日付時刻のまたがりは調整しません。入力したデータをそのまま指定された桁数分,挿入します。
●valがC'文字列',X'16進数',レコード指定(())の場合
lenは指定できません。
(b) calcサブオペランドとの組み合わせ
- 指定値
- 出力フィールドの長さを5桁以内の数字で指定します。
- 指定できる長さの形式を次の表に示します。
表5-62 指定できる長さの形式
| 挿入するデータの属性 |
指定できる長さの形式 |
10進数
演算結果 |
z |
形式2 : p [, s] |
- 形式2については,「valがフィールド名の指定の場合」の「形式2 : p [, s]」を参照してください。
- 演算結果の整数桁が,有効桁の最大値を超えた場合はKBLS2412-E(オーバーフロー)エラーに,lenで指定された整数桁(有効桁−小数桁)を超えた場合はKBLS2423-Eエラーとなります。
- 演算結果の小数桁が,lenで指定された小数桁を超えた場合,次のどちらかの指定に従って,右側の桁あふれ部分を丸めて,指定された有効桁数に調整(丸め処理)します。
・csvformatオペランドの桁の丸め方式サブオペランド
環境ファイル「EXS_ROUND」指定した,丸め方式(四捨五入,切り捨て,切り上げのどれか)
サブオペランドおよびEXS_ROUNDの両方の指定を省略している場合,切り捨てられます。詳細は,「5.10.15(5) 桁の丸め方式サブオペランド」を参照してください。
All Rights Reserved. Copyright (C) 2008, 2019, Hitachi, Ltd.