ソートマージ


付録I.3 数値データの扱い

〈この項の構成〉

(1) ワイド文字対応の属性コード

UCS-2,UCS-4,UTF-16およびUTF-32では,10進数字の「0」〜「9」,外部10進数で使用するゾーン部の英小文字「p」〜「y」,符号文字の「-」と「+」,およびCSVの固定小数点数で使用する通貨記号,小数点,コンマなどの桁修飾文字が,それぞれ2バイトまたは4バイトのワイド文字で表現されます。

図I‒14 UCS-2LEで表現した外部10進数のデータ例

[図データ]

ワイド文字表現の数字に対応している数値属性コードを,次の表に示します。

表I‒9 ワイド文字対応の数値属性コード

エンコード種別

1文字の長さ

(単位:バイト)

属性コード

2進数

10進数

数字

n

m

a

b

f

p

z

x

s

t

d

UCS-2LE

2

×

×

×

×

×

×

UCS-2BE

2

×

×

×

×

×

×

UCS-4LE

4

×

×

×

×

×

×

UCS-4BE

4

×

×

×

×

×

×

UTF-16LE

2

×

×

×

×

×

×

UTF-16BE

2

×

×

×

×

×

×

UTF-32LE

4

×

×

×

×

×

×

UTF-32BE

4

×

×

×

×

×

×

(凡例)

○:ワイド文字に対応している

×:ワイド文字で対応していない(ワイド文字で表現できない数値)

10進数のデータ形式の詳細については,「3.2 キー属性と形式」の「SORT EE固有のデータ形式」を参照してください。

(2) キー・項目の開始位置と長さの指定

(a) 開始バイト位置

キー・項目に指定した「+開始バイト位置」から,エンコードに従って文字(数字)解析します。

エンコードの種類が「UCS-2LE」,「UCS-2BE」,「UTF-16LE」,または「UTF-16BE」の場合は「2の倍数」を開始バイト位置に指定してください。

エンコードの種類が「UCS-4LE」,「UCS-4BE」,「UTF-32LE」,または「UTF-32BE」の場合は「4の倍数」を開始バイト位置に指定してください。

(b) 桁数

キー・項目に指定した「−桁数」をエンコードに従って文字(数字)解析します。指定する値はバイト長ではなく,文字(数字や符号)の桁数です。

SORT EEでは,指定された桁数を次の表に示すバイト長に換算して操作します。

表I‒10 エンコードと桁数の関係(10進数)

エンコード種別

1桁のバイト長

備考(例)

ASCII

1

キー「z+0-4」の長さは,4×1=4バイトです。

SJIS

EUC-JP

EUC-HJ

UTF-8

UCS-2LE

2

キー「z+0-4」の長さは,4×2=8バイトです。

UCS-2BE

UTF-16LE

UTF-16BE

UCS-4LE

4

キー「z+0-4」の長さは,4×4=16バイトです。

UCS-4BE

UTF-32LE

UTF-32BE