次に、TeradataがサポートするTO_NUMBER構文の例を示します。いずれの例も、OracleがサポートするTO_NUMBER構文とは異なります。この関数には次の特徴があります。
- 閉じ山括弧のないPR書式構成要素をサポートしません。この例では、数値が正しい書式ではないため、NULLが返されます。
SELECT TO_NUMBER ('<123', '999PR')
- PR書式構成要素を使用し、数値が正数である場合には、数値の最後にスペースを挿入できます。この例では、123が返されます。
SELECT TO_NUMBER (' 123 ', '999PR')
- 複数桁を科学表記法で指定できます。この例では、12000が返されます。
SELECT TO_NUMBER ('12E3', '99EEEE')
- 科学表記法の整数部分でカンマを使用できます。この例では、1234000が返されます。
SELECT TO_NUMBER ('1,234E3', '9,999EEEE')
- 書式に小数がないときでも、引数が2つあるときには、カンマを検証します。この例では、数値が正しい書式ではないため、NULLが返されます。
SELECT TO_NUMBER ('1234', '9,999')
- 空の文字列をそれ以外の文字列と同じように扱います。この例では、書式が有効でないため、NULLではなくエラーが返されます。
SELECT TO_NUMBER ('', 'BAD Format')
- ピリオド(.)およびカンマ(,)と、DおよびGを同じ書式文字列で使用できます。この例では、1234.99が返されます。
SELECT TO_NUMBER ('1,234.99', '9,999D99')