構文
用途
TO_NUMBER
は、expr
を、NUMBER
データ型の値に変換します。expr
には、CHAR
、VARCHAR2
、NCHAR
、NVARCHAR2
、BINARY_FLOAT
またはBINARY_DOUBLE
データ型の数値を指定できます。
CHAR
、VARCHAR2
、NCHAR
またはNVARCHAR2
データ型のexpr
を指定した場合、オプションの書式モデルfmt
を指定できます。
BINARY_FLOAT
またはBINARY_DOUBLE
データ型のexpr
を指定した場合、BINARY_FLOAT
またはBINARY_DOUBLE
はその内部表現によってのみ解釈できるため、書式モデルは指定できません。
書式モデルの詳細は、「書式モデル」を参照してください。
このファンクションの'
nlsparam
'
引数は、数値変換のTO_CHAR
ファンクションの場合と同じ用途に使用されます。詳細は、「TO_CHAR(数値)」を参照してください。
このファンクションは、CLOB
データを直接的にサポートしていません。ただし、暗黙的なデータ変換を使用してCLOB
を引数として渡すことはできます。
例
次の例では、文字列データを数値に変換します。
UPDATE employees SET salary = salary + TO_NUMBER('100.00', '9G999D99') WHERE last_name = 'Perkins';
SELECT TO_NUMBER('-AusDollars100','L9G999D99', ' NLS_NUMERIC_CHARACTERS = '',.'' NLS_CURRENCY = ''AusDollars'' ') "Amount" FROM DUAL; Amount ---------- -100