16.20 - 通貨数値情報の形式設定文字 - Teradata Vantage NewSQL Engine

Teradata Vantage™ データ タイプおよびリテラル

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN

FORMAT句内で通貨記号が使われている場合、その数値情報は金額の値とみなされます。通貨数値情報の形式を制御するには、FORMAT句に次の表の文字を使います。

文字 意味
G SDFのCurrencyGroupingRuleによって定義される通貨グループ化ルールを呼び出します。

現在のSDFのCurrencyGroupSeparatorの値が出力文字列にコピーされ、通貨小数点文字より左にある数字が、CurrencyGroupingRuleによって定義される通貨グループ化ルールに従ってグループに区切られます。グループ化は、REAL、FLOAT、またはDOUBLE PRECISIONのデータの整数部分に適用されます。

Gは、FORMAT句の最初の文字でなければなりません。LやCなどの通貨文字もFORMAT句に含まれていなければなりません。

FORMAT句に文字Gが含まれていないなら、出力文字列においてグループ化は実行されません。

次の文字を含むFORMAT句には、Gを指定できません。
  • ,
  • /
  • :
  • S
/

:

%

挿入文字。

出力文字列のうち、FORMAT句で指定した場所にコピーされます。

%挿入文字は、Sの入ったFORMAT句には指定できません。また、G、D、またはEの入ったFORMAT句の中の数字と数字の間に指定することはできません。例えば、GL9999D99%は有効ですが、L9(9)D99%E999は無効です。

次の文字を使ったFORMAT句には、/および:の挿入文字を指定できません。
  • G
  • D
  • S
B 挿入文字。

出力文字列のうち、FORMAT句でBを指定した場所にブランクがコピーされます。

Bは、G、D、またはEの入ったFORMAT句の中の数字と数字の間には指定できません。例えば、GNB99D99は有効ですが、G9(9)BD99は無効です。

+

-

符号文字。

これらの文字は形式設定文字列の先頭または末尾には指定できますが、文字Zまたは文字9の途中の位置、および反復する通貨文字の途中には指定できません。1つの符号文字が、出力文字列の固定位置で編集文字と置き換わります。

これらの文字が2つ以上左にある場合、その符号は浮動します(宣言された構造のとおりに、数字のすぐ左の位置に移動します)。反復する符号文字は、常に小数点文字と形式設定文字9の組み合わせからなる形式設定文字より左側になければなりません。

文字Zの反復グループまたは通貨文字の反復グループ(あるいはその両方)を含むFORMAT句の中に一群の反復符号文字が含まれている場合、反復グループは連続していなければなりません。例: +++$$$ZZZ

任意の数字の右側には、1個の後置符号文字を指定でき、Bおよび1個の通貨文字あるいは通貨記号と組み合わせることが可能です。例: G9(I)B+L

仮数部の後置符号文字を、指数部より右側に指定することはできません。例えば、999D999E+999+は無効です。

+は+または-に適宜変換され、-は-またはブランクに変換されます。

$

£

¥

¤

¤

通貨記号。
  • $はドル記号を意味します。
  • £は英ポンドを意味します。
  • ¥は円記号を意味します。
  • ¤は、一般的な通貨記号を意味します。
  • ¤はユーロ記号を意味します。

通貨記号は、形式設定文字Zまたは9の途中に指定することはできません。また、反復する符号文字の途中に指定することもできません。

1つの通貨記号が、出力文字列の固定位置で編集文字と置き換わります。

ゼロ-抑制される10進数のためのZと共に単一の通貨記号を使用して結果が形式化される場合(例えば、£ZZ9.99)、通貨記号と数字のゼロでない左端の桁との間に、ブランクができることがあります。

同じ通貨記号が複数回指定されているなら、左端の数字との間にブランクが空かないように符号が右に浮動します。

通貨記号を、Lなどの通貨文字と同じ句に指定することはできません。

+または-がある場合、通貨記号をその前に使用することはできません。

符号文字の反復グループまたは文字Zの反復グループ(あるいはその両方)を含むFORMAT句の中に通貨記号の反復グループが含まれている場合、それらの反復グループは連続していなければなりません。例: +++$$$ZZZ

任意の数字の右側には、1個の通貨記号を指定でき、Bおよび1個の後置符号文字と組み合わせることが可能です。例: G9(I)B+$

指数部より右側に通貨記号を使用することはできません。例えば、999D999E+999B+$は無効です。

L

C

N

O

U

A

通貨記号。
FORMAT句の中にこの文字が出現するたびに、現在のSDFの中の対応する通貨文字列の値が出力文字列にコピーされます。
  • FORMAT句のLは通貨記号として解釈され、SDFのCurrency文字列の値が出力文字列にコピーされます。
  • FORMAT句のCはISO通貨記号として解釈され、SDFのISOCurrency文字列の値が出力文字列にコピーされます。
  • FORMAT句のNは通貨の正式名(YenやKronerなど)として解釈され、SDFのCurrencyName文字列の値が出力文字列にコピーされます。
  • FORMAT句のOは二重通貨記号として解釈され、SDFのDualCurrency文字列の値が出力文字列にコピーされます。
  • FORMAT句のUは二重ISO通貨記号として解釈され、SDFのDualISOCurrency文字列の値が出力文字列にコピーされます。
  • FORMAT句のAは二重通貨の正式名(Euroなど)として解釈され、SDFのDualCurrencyName文字列の値が出力文字列にコピーされます。

通貨文字は、形式設定文字Zまたは9の途中に指定することはできません。また、反復する符号文字の途中に指定することもできません。

同じ通貨文字が複数回指定されているなら、左端の数字との間にブランクが空かないように、出力文字列にコピーされる値が右に浮動します。反復する文字は連続していなければならず、常に小数点文字と形式設定文字9の組み合わせからなる形式設定文字より左側になければなりません。

符号文字の反復グループまたは文字Zの反復グループ(あるいはその両方)を含むFORMAT句の中に通貨文字の反復グループが含まれている場合、それらの反復グループは連続していなければなりません。例: +++LLLZZZ

通貨文字は、次のいずれかの文字と同じ句に指定することはできません。
  • 他の通貨文字
  • $や£などの通貨記号
  • ,

任意の数字の右側には、1個の通貨文字を指定でき、Bおよび1個の後置符号文字と組み合わせることが可能です。例: G9(I)B+L

指数部より右側に通貨文字を使用することはできません。例えば、999D999E+999B+Lは無効です。

V 暗黙の小数点位置。

内部的には、計算用に正しく数値を位置合わせするために、Vが小数点とみなされます。

小数点は暗黙のものであるため、記憶域上の位置を占めることはなく、出力に含められることもありません。

Vは、'D'小数点記号または小数点文字(.)を含むFORMAT句には、Vを指定できません。

Z ゼロ抑制される小数の桁。

ある桁がゼロでその前の桁もゼロの場合、ブランクに変換されます。

A Zは単独の9の後には指定できません。

反復するZ文字は、常に小数点文字と形式設定文字9の組み合わせより左側になければなりません。

小数点文字より右側にある文字として、文字9と文字Zの組み合わせを指定することはできません。すべて9か、すべてZでなければなりません。すべてZの場合、小数点文字より左側の文字はすべてZでなければなりません。

符号文字の反復グループを含むFORMAT句の中に文字Zの反復グループが含まれている場合、文字Zのグループは、符号文字グループの直後になければなりません。例: --ZZZ

9 小数の桁(ゼロ抑制されない)。
E 指数用の記法。

仮数部の終わりと指数部の始めを定義します。

指数部は、任意で指定する1個の+または-符号文字、そしてその後に指定する1個以上の形式設定文字9とで構成されます。

CHAR(n)
ある文字が複数回出現する場合、CHARには次のいずれかを指定できます。
  • - (符号文字)
  • +
  • Z
  • 9
  • $
  • ¤
  • ¤
  • ¥
  • £
そしてnには次のものを指定できます。
  • 整数定数
  • I
  • F

nがFの場合、CHARに使用できるのはZまたは9だけです。

nが整数定数の場合、(n)の表記は、その文字がn回繰り返されることを意味します。IとFの意味については、この表のもっと後で説明します。

, 通貨グループ化文字。

カンマは、数字がすでに出現した場合にだけ挿入されます。

カンマは、SDF中のCurrencyGroupSeparatorの値とは関係なく、常に通貨グループ化文字として解釈されます。

次の文字を含むFORMAT句には、カンマを指定できません。
  • G
  • D
  • L
  • C
  • O
  • U
  • N
  • A
  • S
. 通貨小数点文字。

ピリオドは、SDF中のCurrencyRadixSeparatorの値とは関係なく、常に通貨小数点文字として解釈され、出力文字列にコピーされます。

次の文字を含むFORMAT句には、ピリオドを指定できません。
  • G
  • D
  • L
  • V
  • C
  • O
  • U
  • N
  • A
  • S
D 小数点記号。

FORMAT句の中にDが出現するたびに、現在のSDFのCurrencyRadixSeparatorの値がそこにコピーされます。

ドル記号や円記号などの通貨記号がFORMAT句の中に含まれていなければなりません。

次の文字を含むFORMAT句には、Dを指定できません。
  • ,
  • /
  • :
  • S
  • V
I NUMERICおよびINTEGERデータの整数部を表示するために必要とされる文字数。
Iを使用できるのは、n(CHAR)文字シーケンスのnの部分としてだけです(このテーブルのCHAR(n)の説明を参照)。CHARには、次のものを指定できます。
  • - (符号文字)
  • +
  • Z
  • 9
  • $
  • ¤
  • ¤
  • ¥
  • £
CHAR(I)は一度しか指定できず、次の型に対してのみ有効です。
  • DECIMAL/NUMERIC
  • BYTEINT
  • SMALLINT
  • INTEGER
  • BIGINT

Iの値は、金額数値データの形式設定中に解決されます。その値は、データ型の宣言から取得されます。例えば、DECIMAL(10,2)タイプの場合、Iは8になります。

FORMAT句の中にCHAR(I)も含まれているなら、CHAR(F)はCHAR(I)の右側になければならず、さらにCHAR(I)とCHAR(F)の間に次の文字のいずれかがなければなりません。
  • D
  • V
F 数値データの小数部分を表示するために必要な文字数。
Fを使用できるのは、n(CHAR)文字シーケンスのnの部分としてだけです(このテーブルのCHAR(n)の説明を参照)。CHARには、次のものを指定できます。
  • Z
  • 9

CHAR(F)は、DECIMAL/NUMERICデータ型に対して有効です。

Fの値は、通貨数値データの形式設定中に解決されます。その値は、データ型の宣言から取得されます。例えば、DECIMAL(10,2)タイプの場合、Fは2になります。

Fの値が0の場合には、そのデータの小数部分は表示されません。しかし、FORMAT句にDが含まれている場合には、現在のSDFのCurrencyRadixSeparatorの値が出力文字列にコピーされます。

CHAR(F)は一度しか指定できません。FORMAT句の中にCHAR(I)も含まれているなら、CHAR(F)はCHAR(I)の右側になければならず、さらにCHAR(I)とCHAR(F)の間に次の文字のいずれかがなければなりません。
  • D
  • V
- ダッシュ文字。

電話番号、社会保障番号、およびアカウント番号などの数字を格納する場合に使用される。

ダッシュが最初の桁の後、または最後の桁の前にある場合、これは符号文字ではなく、埋込みのダッシュであるとみなされます。ダッシュは、次の文字の後には指定できません。
  • ,
  • +
  • G
  • N
  • A
  • C
  • L
  • O
  • U
  • D
  • V
  • S
  • E
  • $
  • ¤
  • £
  • ¥
  • ¤
S 符号付きゾーン小数文字。

符号付きのゾーン小数の入力を数データ型として定義し、数値の出力を符号付きのゾーン小数の文字列として表示します。

符号付きのゾーン小数入力を数値データ型に変換する場合、最後の文字は以下のように変換されます。
  • 最後の文字={または0、数値変換はn … 0
  • 最後の文字=Aまたは1、数値変換はn … 1
  • 最後の文字=Bまたは2、数値変換はn … 2
  • 最後の文字=Cまたは3、数値変換はn … 3
  • 最後の文字=Dまたは4、数値変換はn … 4
  • 最後の文字=Eまたは5、数値変換はn … 5
  • 最後の文字=Fまたは6、数値変換はn … 6
  • 最後の文字=Gまたは7、数値変換はn … 7
  • 最後の文字=Hまたは8、数値変換はn … 8
  • 最後の文字=Iまたは9、数値変換はn … 9
  • 最後の文字=}、数値変換は-n … 0
  • 最後の文字=J、数値変換は-n … 1
  • 最後の文字=K、数値変換は-n … 2
  • 最後の文字=L、数値変換は-n … 3
  • 最後の文字=M、数値変換は-n … 4
  • 最後の文字=N、数値変換は-n … 5
  • 最後の文字=O、数値変換は-n … 6
  • 最後の文字=P、数値変換は-n … 7
  • 最後の文字=Q、数値変換は-n … 8
  • 最後の文字=R、数値変換は-n … 9

数値出力を符号付きのゾーン小数文字列として表示する場合、最後の文字は以下のように符号を示します。

最後のデータ桁が0の場合、最後の桁が表示されます。
  • 結果が正の数の場合は{
  • 結果が負の数の場合、}
最後のデータ桁が1の場合、最後の桁が表示されます。
  • 結果が正の数の場合、A
  • 結果が負の数の場合、J
最後のデータ桁が2の場合、最後の桁が表示されます。
  • 結果が正の数の場合、B
  • 結果が負の数の場合、K
最後のデータ桁が3の場合、最後の桁が表示されます。
  • 結果が正の数の場合、C
  • 結果が負の数の場合、L
最後のデータ桁が4の場合、最後の桁が表示されます。
  • 結果が正の数の場合、D
  • 結果が負の数の場合、M
最後のデータ桁が5の場合、最後の桁が表示されます。
  • 結果が正の数の場合、E
  • 結果が負の数の場合、N
最後のデータ桁が6の場合、最後の桁が表示されます。
  • 結果が正の数の場合、F
  • 結果が負の数の場合、O
最後のデータ桁が7の場合、最後の桁が表示されます。
  • 結果が正の数の場合、G
  • 結果が負の数の場合、P
最後のデータ桁が8の場合、最後の桁が表示されます。
  • 結果が正の数の場合はH
  • 結果が負の数、Q
最後のデータ桁が9の場合、最後の桁が表示されます。
  • 結果が正の数の場合はI
  • 結果が負の数の場合、R
FORMAT句で、Sは最後の小数の桁の後であることが必要です。Sは、同じ句で、以下の文字と共に使用することはできません。
  • %
  • +
  • :
  • /
  • -
  • ,
  • Z
  • E
  • D
  • G
  • F
  • N
  • A
  • C
  • L
  • U
  • O
  • $
  • ¤
  • £
  • ¥
  • ¤

符号付きゾーン小数変換の例と詳細については、<Teradata Vantage™ SQL関数、式、および述部、B035-1145>の「符号付きゾーンDECIMAL変換」を参照してください。