TO_NUMBER(x [, format]) converts x to a number. : TO_NUMBER « Conversion Functions « Oracle PL/SQL Tutorial






The TO_NUMBER function converts a character string of type CHAR or VARCHAR2 into a number.

The Syntax for the TO_NUMBER Function

TO_NUMBER(character_string, format, NLS_Params)

After the format mask are several possible NLS parameters:

  1. NLS_NUMERIC_CHARACTERS -- Specifies characters to use for group separators and the decimal point.
  2. NLS_CURRENCY -- Specifies the local currency.
  3. NLS_ISO_CURRENCY -- Character(s) to represent the ISO currency symbol.

You can provide an optional format string to indicate the format of x.

ParameterFormat Examples
9999
00999 9990
.999.99
,9,999
$$999
BB9.99
CC999
D9D99
EEEE9.99EEEE
FMFM90.9
G9G999
LL999
MI999MI
PR999PR
RN rnRN rn
SS999 999S
TMTM
UU999
V99V99
XXXXX


The following example converts the string 97.13 to a number using TO_NUMBER():

SQL>
SQL> SELECT TO_NUMBER('97.13') FROM dual;

TO_NUMBER('97.13')
------------------
             97.13

SQL>








15.8.TO_NUMBER
15.8.1.TO_NUMBER(x [, format]) converts x to a number.
15.8.2.Convert the string 97.13 to a number using TO_NUMBER() and then adds 25.5 to that number
15.8.3.Converts the string -$12,345.67 to a number, passing the format string $99,999.99 to TO_NUMBER()
15.8.4.to_number('123')