当前位置: 代码网 > it编程>数据库>Oracle > Oracle中TO_NUMBER()函数的使用

Oracle中TO_NUMBER()函数的使用

2025年08月05日 Oracle 我要评论
to_number()函数是oracle中常用的类型转换函数,是将一些处理过的按一定格式编排过的字符串变回数值型的格式常用于将文本文件或用户输入中的数字字符串转换为可计算的数值以及处理带有货币符号、千

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com