使用上の注意 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/tpf1598412463935.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

処理を開始する前に、数値の記述節がFORMAT句についてスキャンされます。これは基数分離文字、グループ分離文字、通貨記号または文字列、サインゾーン(S)、または暗黙小数点(V)書式設定を決定するために使用されます。

変換は、文字ごとに左から右へと数値の終わりまで順番に行なわれます。

すべて数値の文字列だけを文字書式から数値書式に変換できます。例えば、文字列‘US Dollars 123456’または‘123456’を整数値123456に変換することはできますが、文字列‘EX1AM2PL3E’を数値に変換することはできません。

次のリストに、文字タイプ データを数値タイプに変換するためのステップを示します。GRAPHIC文字タイプのcharacter_expressionを数値に変換できないことに注意する必要があります。

変換は前のステップに戻ることなく順番に行なわれますが、ステップは飛ばされることがあります。

  1. 先行の埋め込み文字は無視されます。符号付きゾーン小数の入力を除いて、先行の埋め込み文字は無視されます。

    埋め込みスペースを使用できるのは、以下のルールに従える場合のみです。

    • 現在のSDFファイルでグループ分離文字としてスペースが定義されていれば、文字列の基数分離文字の左の桁グループを分離するのにスペースを使用できます。このとき、GroupingRuleまたはCurrencyGroupingRuleで定義されるグループ化ルールに従います。
    • 現在のSDFファイルで基数分離文字としてスペースが定義されていれば、文字列に基数文字としてスペースを1つ含めることができます。
    • FORMAT句にNなどの通貨書式設定文字が含まれていて、SDFファイルの中のそれに適合したCurrencyNameなどの通貨文字列にスペースが含まれる場合は、文字列にその通貨文字列の一部としてスペースを含めることができます。
  2. 符号(+または-)は、数値の一部として保存されます。仮数記号は、文字列の最初の数字の前、または文字列の最後の数字の後に置くことができます。指数記号は、仮数符号の後に置くことができます。
  3. FORMATと一致する場合、通貨記号は無視されます。FORMATと一致する場合、通貨文字列は無視されます。文字列ではただ1つの通貨だけが許可されます。
  4. 数字は、基数または英字Eの構文解析に応じて、整数、小数、または指数部分として保存されます。
  5. FORMATで指定された基数に一致しない限り、分離文字は無視されます。

    分離文字がFORMATで指定された基数に一致する場合、位置はその数の小数部の始めとして保存されます。Vは、暗黙小数の小数部分をマークします。

    通貨および分離文字が許容されているのは、文字から数値への変換に関する非ANSI標準のTeradata拡張機能です。

  6. (数字間の)埋め込みダッシュは、その数が符号付きであったり、基数、通貨、または指数が付帯していたりしない限り、許可されます。
  7. 英字のEは、その数の指数部の始めとして保存されます。Eの後ろには、1個の空白が許可されています。
  8. 指数部の符号(+ または -)は保存されます。
  9. 指数部の数字は保存されます。符号が、指数部の数字の後ろにあってはなりません。