Oracle中TO_NUMBER()函數(shù)的使用
TO_NUMBER()函數(shù)是Oracle中常用的類型轉(zhuǎn)換函數(shù),是將一些處理過的按一定格式編排過的字符串變回數(shù)值型的格式
常用于將文本文件或用戶輸入中的數(shù)字字符串轉(zhuǎn)換為可計算的數(shù)值以及處理帶有貨幣符號、千位分隔符等格式的數(shù)值字符串
語法結(jié)構(gòu)
TO_NUMBER(converted_str, format, nls_parameters)
參數(shù)說明
- converted_str:要轉(zhuǎn)換為數(shù)字的字符串
- format:指定字符串中的格式 (可選)
- nls_parameters:指定國家語言支持參數(shù),如小數(shù)點(diǎn)和千位分隔符 (可選)
format參數(shù)常用預(yù)定義的的固定格式
格式值 | 含義 |
9 | 代表一個數(shù)字 |
$ | 顯示美元符號 |
. | 顯示一個小數(shù)點(diǎn) |
D | 顯示一個小數(shù)點(diǎn) |
, | 顯示一個千位分隔符號 |
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 (將逗號識別為小數(shù)點(diǎn),點(diǎn)識別為千位分隔符) SELECT TO_NUMBER('1.234,56', '9G999D99', 'NLS_NUMERIC_CHARACTERS='',.''') FROM dual; -- 進(jìn)制轉(zhuǎn)換:16進(jìn)制轉(zhuǎn)換為10進(jìn)制 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參數(shù)可以使用 D(小數(shù)點(diǎn))、G(千位分隔符)、$(貨幣符號)等格式元素
2.需要注意的是,被轉(zhuǎn)換的字符串必須符合數(shù)值類型的格式,如果被轉(zhuǎn)換的字符串不符合數(shù)值型格式,Oracle將拋出錯誤提示
TO_NUMBER()函數(shù)獲取Oracle數(shù)據(jù)庫當(dāng)前日期的年、月、日、時、分、秒
-- 年 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;
到此這篇關(guān)于Oracle中TO_NUMBER()函數(shù)的使用的文章就介紹到這了,更多相關(guān)Oracle TO_NUMBER()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- oracle關(guān)聯(lián)查詢報invalid number錯誤的解決方法
- Oracle 中 row_number()、rank()、dense_rank() 函數(shù)的用法詳解
- Oracle中ROW_NUMBER()OVER()函數(shù)用法實(shí)例講解
- Oracle數(shù)字類型number自增的實(shí)現(xiàn)代碼
- Oracle數(shù)據(jù)庫rownum和row_number的不同點(diǎn)
- oracle中rownum和row_number()
- Oracle Number型數(shù)值存儲與轉(zhuǎn)換的實(shí)現(xiàn)詳解
- Oracle Number型的深入理解
相關(guān)文章
Oracle與SQL Server在企業(yè)應(yīng)用的比較
Oracle與SQL Server在企業(yè)應(yīng)用的比較...2007-03-03PLSQL創(chuàng)建新用戶并導(dǎo)入導(dǎo)出.dmp文件全過程
plsql導(dǎo)入.sql和.dmp文件時會經(jīng)常用到,對于初學(xué)者來說可能沒有那么簡單,畢竟oracle數(shù)據(jù)庫比較麻煩,這篇文章主要給大家介紹了關(guān)于PLSQL創(chuàng)建新用戶并導(dǎo)入導(dǎo)出.dmp文件的相關(guān)資料,需要的朋友可以參考下2023-11-11Oracle 輕量級實(shí)時監(jiān)控工具 oratop詳解
這篇文章主要介紹了Oracle 輕量級實(shí)時監(jiān)控工具 oratop,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Oracle數(shù)據(jù)庫找到 Top Hard Parsing SQL 語句
Oracle數(shù)據(jù)庫中的硬解析是指重新解析SQL語句并創(chuàng)建新的執(zhí)行計劃的過程,本文給大家介紹Oracle數(shù)據(jù)庫找到 Top Hard Parsing SQL 語句的方法,感興趣的朋友一起看看吧2025-01-01Oracle Arraysize設(shè)置對于邏輯讀的影響實(shí)例分析
這篇文章主要介紹了Oracle Arraysize設(shè)置對于邏輯讀的影響實(shí)例分析,通過設(shè)置Arraysize大幅減少了邏輯讀的次數(shù)和網(wǎng)絡(luò)往返次數(shù),需要的朋友可以參考下2014-07-07