Oracle中TO_NUMBER()函数的使用

 更新时间:2025年08月05日 09:54:00   作者:山茶花开时。  
本文主要讲解Oracle数据库中的TO_NUMBER()函数的相关知识点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

TO_NUMBER()函数是Oracle中常用的类型转换函数,是将一些处理过的按一定格式编排过的字符串变回数值型的格式

常用于将文本文件或用户输入中的数字字符串转换为可计算的数值以及处理带有货币符号、千位分隔符等格式的数值字符串

语法结构

TO_NUMBER(converted_str, format, nls_parameters)

参数说明

  • converted_str:要转换为数字的字符串
  • format:指定字符串中的格式 (可选)
  • nls_parameters:指定国家语言支持参数,如小数点和千位分隔符 (可选)

format参数常用预定义的的固定格式

格式值含义
9代表一个数字
$显示美元符号
.显示一个小数点
D显示一个小数点
,显示一个千位分隔符号
G显示一个千位分隔符号

示例

SELECT TO_NUMBER('1234.56') FROM dual;  -- 1234.56

SELECT TO_NUMBER('$1,234.56', '$9,999.99') FROM dual;  -- 1234.56

-- 1234.56 (将逗号识别为小数点,点识别为千位分隔符)
SELECT TO_NUMBER('1.234,56', '9G999D99', 'NLS_NUMERIC_CHARACTERS='',.''') 
FROM dual;

-- 进制转换:16进制转换为10进制
SELECT TO_NUMBER('f','xx') FROM dual;     -- 15
SELECT TO_NUMBER('19f','xxx') FROM dual;  -- 415
-- 报错
SELECT TO_NUMBER('$12345.678', '$99999.99') FROM dual;
-- 12345.678
SELECT TO_NUMBER('$12345.678', '$99999.999') FROM dual;

提示Tips

1.format参数可以使用 D(小数点)、G(千位分隔符)、$(货币符号)等格式元素

2.需要注意的是,被转换的字符串必须符合数值类型的格式,如果被转换的字符串不符合数值型格式,Oracle将抛出错误提示

TO_NUMBER()函数获取Oracle数据库当前日期的年、月、日、时、分、秒

-- 年
SELECT TO_NUMBER(TO_CHAR(sysdate,'yyyy')) FROM dual;  
-- 月
SELECT TO_NUMBER(TO_CHAR(sysdate,'mm')) FROM dual;    
-- 日
SELECT TO_NUMBER(TO_CHAR(sysdate,'dd')) FROM dual;    
-- 时(24小时制)
SELECT TO_NUMBER(TO_CHAR(sysdate,'hh24')) FROM dual;  
-- 分
SELECT TO_NUMBER(TO_CHAR(sysdate,'mi')) FROM dual; 
-- 秒
SELECT TO_NUMBER(TO_CHAR(sysdate,'ss')) FROM dual; 

到此这篇关于Oracle中TO_NUMBER()函数的使用的文章就介绍到这了,更多相关Oracle TO_NUMBER()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Oracle分页查询性能优化代码详解

    Oracle分页查询性能优化代码详解

    这篇文章主要介绍了Oracle分页查询性能优化代码详解,简述了进行分页查询性能优化的原因,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • Oracle与SQL Server在企业应用的比较

    Oracle与SQL Server在企业应用的比较

    Oracle与SQL Server在企业应用的比较...
    2007-03-03
  • PLSQL创建新用户并导入导出.dmp文件全过程

    PLSQL创建新用户并导入导出.dmp文件全过程

    plsql导入.sql和.dmp文件时会经常用到,对于初学者来说可能没有那么简单,毕竟oracle数据库比较麻烦,这篇文章主要给大家介绍了关于PLSQL创建新用户并导入导出.dmp文件的相关资料,需要的朋友可以参考下
    2023-11-11
  • Oracle 轻量级实时监控工具 oratop详解

    Oracle 轻量级实时监控工具 oratop详解

    这篇文章主要介绍了Oracle 轻量级实时监控工具 oratop,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Oracle常用函数超详细整理

    Oracle常用函数超详细整理

    Oracle是一种常用的关系型数据库管理系统,提供了许多内置函数,用于处理和操作数据,下面这篇文章主要给大家介绍了关于Oracle常用函数超详细整理的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Oracle  call 和 exec的详解及区别

    Oracle call 和 exec的详解及区别

    这篇文章主要介绍了Oracle call 和 exec的详解及区别的相关资料,这里举例说明了它们之间的区别,需要的朋友可以参考下
    2016-11-11
  • Oracle数据库找到 Top Hard Parsing SQL 语句的方法

    Oracle数据库找到 Top Hard Parsing SQL 语句

    Oracle数据库中的硬解析是指重新解析SQL语句并创建新的执行计划的过程,本文给大家介绍Oracle数据库找到 Top Hard Parsing SQL 语句的方法,感兴趣的朋友一起看看吧
    2025-01-01
  • 详细整理Oracle中常用函数

    详细整理Oracle中常用函数

    本文详细讲解了Oracle中常用函数,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • oracle修改scott密码与解锁的方法详解

    oracle修改scott密码与解锁的方法详解

    本篇文章是对oracle修改scott密码与解锁的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Oracle Arraysize设置对于逻辑读的影响实例分析

    Oracle Arraysize设置对于逻辑读的影响实例分析

    这篇文章主要介绍了Oracle Arraysize设置对于逻辑读的影响实例分析,通过设置Arraysize大幅减少了逻辑读的次数和网络往返次数,需要的朋友可以参考下
    2014-07-07

最新评论