oracle

关注公众号 jb51net

关闭
首页 > 数据库 > oracle > Oracle TO_NUMBER()

Oracle中TO_NUMBER()函数的使用

作者:山茶花开时。

本文主要讲解Oracle数据库中的TO_NUMBER()函数的相关知识点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

语法结构

TO_NUMBER(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()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文