FORMAT句によるデータの構文解析の制御 - Teradata Database - Teradata Vantage NewSQL Engine - FORMAT句によるデータの構文解析の制御。

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xnq1529717274657.ditamap
dita:ditavalPath
ja-JP/xnq1529717274657.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

FORMAT句それ自体は、文字タイプの値を数値タイプの値に変換することはできません。この句は、結果の値の構文解析方法を部分的に制御します。

文字から数値への変換の例を、以下のテーブルにいくつか挙げます。G、D、C、およびN書式制御文字を含むFORMAT句の場合、データ書式設定ファイル(SDF)の指定にある関連項目は以下のようであると想定します。

RadixSeparator {"."}
GroupSeparator {","}
GroupingRule   {"3"}
Currency       {"$"}
ISOCurrency    {"USD"}
CurrencyName   {"US Dollars"}
文字列 変換後 結果の数値 フィールド モードで表示される結果
'$20,000.00' DECIMAL(10,2) 20000.00 20000.00
'$$$.50' DECIMAL(10,2) エラー

文字列ではただ1つの通貨だけが許可されます。

エラー
'$.50' DECIMAL(8,2) .50 .50
'.345' DECIMAL(8,3) .345 .345
'-1.234E-02' FLOAT -.01234 -.01234
'-1E.-2' FLOAT エラー

数字の指数部分の前に基数がなければなりません。

エラー
'00000000-.93' DECIMAL(12,4) エラー

基数の入った文字列内では、埋め込みダッシュは使用できません。

エラー
'-  55' INTEGER -55 -55
'E67' FLOAT 0.0 0.00000000000000E 000
'9876' DECIMAL(4,2)

FORMAT '99V99'

98.76 9876
'-123' INTEGER -123 -123
'9876' DECIMAL(4,2)

FORMAT '9(2)V9(2)'

98.76 9876
'1-2-3' INTEGER 123 123
'123-' INTEGER -123 -123
'123-  ' INTEGER -123 -123
'-1.234E 02' FLOAT -123.4 -1.23400000000000E 002
'111,222,333' INTEGER

FORMAT 'G9(I)'

111222333 0,111,222,333
'2.49US Dollars' DECIMAL(10,2)

FORMAT 'GZ(I)D9(F)BN'

2.49 2.49 US Dollars
'25000USD' INTEGER

FORMAT '9(I)C'

25000 0000025000USD

FORMAT句を指定しない変換は、SDFで定義されている、対応のデータ型のデフォルト書式を使用します。