oracle的TO_NUMBER函数

TO_NUMBER(x [, format], [ nls_language ]) converts x to a NUMBER.

  • x is the string that will be converted to a number.  x是将要被转换成number的字符串。
  • format, optional, is the format that will be used to convert x to a number.  format,可选项,是用来将x转换成number的格式。
  • nls_language, optional, is the nls language used to convert x to a number.   nls_language,可选项,是nls语言,用来将x转换成number。

Number Format Elements:

ElementExampleDescription
, .1,234.56Commas and decimal points  逗号和小数点
$$123.45Leading dollar sign. 前置$符号
00012.34Leading or trailing 0. 前置或后置0
9123Any digit. 任意数字
BB123Leading blank for integers. integer类型前置空白符
CC123The ISO currency symbol defined in the NLS_ISO_CURRENCY parameter.定义在NLS_ISO_CURRENCY参数中的国际标准货币符号
D123D99The current decimal character defined in the NLS_NUMERIC_CHARACTERS parameter. The default value is a period.
EEEE1.2EEEReturns a value in scientific notation.用科学计数法表示返回值
G9G123Returns the group separator (e.g., a comma).
LL123Returns the local currency symbol.
MI123MInegative value with trailing minus sign; returns positive value with a trailing blank.
PR123PRThe negative values in angle brackets.
RNIvalues in Roman numerals, uppercase.
rnivalues in Roman numerals, lowercase.
S (prefix)S1234negative values with a leading minus sign, positive values with a leading positive sign.
S (suffix)1234Snegative values with a trailing minus sign, positive values with a trailing positive sign.
TMTMThe text minimum number format model returns the smallest number of characters possible.
UU123the Euro currency symbol or the NLS_DUAL_CURRENCY parameter.
V123V99a value multiplied by 10n, where n is the number of 9s after the V.
XXXXXthe hexadecimal value.十六进制值

SQL> select to_number('123.45') from dual;

TO_NUMBER('123.45')
-------------------
             123.45

SQL> select to_number('123.45', '9999.99') from dual;

TO_NUMBER('123.45','9999.99')
-----------------------------
                       123.45

SQL> select to_number('12', '99') from dual;

TO_NUMBER('12','99')
--------------------
                  12

SELECT TO_NUMBER('$12,123.23','$999,999.99') FROM DUAL;

SQL>
SQL>
SQL>
SQL>

Do calculation after the conversion


SQL> select to_number('123.45') + 2 from dual;

TO_NUMBER('123.45')+2
---------------------
               125.45

SQL> SELECT TO_NUMBER('-$12,345.67', '$99,999.99') FROM dual;

TO_NUMBER('-$12,345.67','$99,999.99')
-------------------------------------
                            -12345.67

SQL>

转载于:https://www.cnblogs.com/itzfz/p/5583185.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值