1. 程式人生 > >使用to_number函式,提示ORA-01722無效數字的解決方法

使用to_number函式,提示ORA-01722無效數字的解決方法

使用to_number()函式時,提示ORA-01722:無效數字 的解決方法

原因分析: 

1.顯式原因:

即欄位中存在非數字的字元。

解決方法:(1)替換掉非數字的字元。

    (2)使用 ORACLE的regexp_like函式,過濾掉含有非數字字元的記錄。

例如:

select  * from table1 T1

2.隱式原因:

就是對某個欄位進行使用一些函式後,欄位的型別已經轉換成了VARCHAR2型別,VARCHAR2存在著全形和半形符號之分。

當這個欄位是全形字元時,即使你看到該欄位是純數字,但是在where子句中使用to_number,卻提示ORA-01722異常

解決方法:

在select語句中對該欄位進行to_number轉換,然後在巢狀一個查詢語句,在where子句中to_number(欄位),即可。

例如:select  T2.A , T2.B  from table2 T2

where  to_number(T2.B) -100  <  0

------------------提示ORA-01722-----------------------

--多巢狀一個查詢語句

select  * from  (

select T2.A ,to_number(T2.B)  from table2 T2

where ……

) T3

where to_number(T3.B) - 100 < 0

相關推薦

使用to_number函式提示ORA-01722無效數字解決方法

使用to_number()函式時,提示ORA-01722:無效數字 的解決方法 原因分析:  1.顯式原因: 即欄位中存在非數字的字元。 解決方法:(1)替換掉非數字的字元。     (2)使用 OR

Asp.net SqlDataSource中使用like報錯ORA-01722: 無效數字

   以前在asp.net中,沒有使用過SqlDataSource來連線不同資料庫,首次嘗試卻問題多多,這裡將問題記錄下來,以便後面的朋友參考,更快的解決問題    1,ORA-00936: 缺少表示式 , 這裡主要是語法不清楚所造成的! SqlDataSource 連線sq

ORA-01722:無效數字

SELECT * FROM (select a.nursing_unit_code, b.name nursingName, a.ward_code, c.name warName, c.parent_id, a.hospital_area_code from pts.pts_dept_wa

ORA-01861: 文字與格式字串不匹配,ORA-01722: 無效數字

SQL> create table Student(   2         id varchar2(20) primary key,   3   &

ORACLE隱式型別轉換 ORA-01722: 無效數字

在做開時經常會遇到ORA-01722: 無效數字 的錯誤,原因在於自動型別轉換出錯.下面舉個例子: CREATE TABLE t1(NAME VARCHAR(2)); INSERT INTO t1 VALUES('a'); INSERT INTO t1 VALUES('b

ORACLE-023:令人煩惱的 ora-01722 無效數字

曾經一段時間內寫sql語句時,老是莫名其妙的報ora-01722。對於這個錯誤提示,尤其是對於一個複雜的sql語句,很是鬱悶,因為很多時候都不知所然。通過每次碰到的總結,其實也不是那麼難以解決的,主要原因是:1、對於兩個型別不匹配(一個數字型別,一個非數字型別,同下)的值進行

ORA-01722 無效數字

ora- 大神 人工智能 tps nbsp 人工 分享 人工智 content 1、錯誤描述 nested exception is java.sql.SQLException:ORA-01722:無效數字 2、錯誤原因 由於字段是數值類型,插入數

ORA-01722: 無效數字解決方法

List<Atl> atls = commonDao.findByQuery("from Atl a where a.code ="+code);報錯:ORA-01722: 無效數字List<Atl> atls = commonDao.findByQu

oracle業務硬盤出現故障無法訪問提示需要重新格式化後解決方法

互聯網 折騰了兩天,終於把這個問題解決了,記錄一下,也幫助那些和我一樣碰到類似問題的朋友們,數據無價,我們必須謹慎處理。 這塊硬盤是我們公司一卡通平臺的存儲服務器LUN,由多塊硬盤組成,按道理說它不應該出現問題,因為裏面還有RAID等保護,但偏偏就出現了這樣的問題:硬盤盤符還能看見,但一打開提示“需要

java.sql.SQLException: ORA-00911: 無效字元 解決方法

java連結Oracle資料庫,進行插入操作,報如下錯誤: 如果你用java寫程式訪問資料庫,出現這個問題: java.sql.SQLException: ORA-00911: 無效字元 at oracle.jdbc.driver.DatabaseError.throw

SQLplus連線Oracle提示協議介面卡錯誤的解決方法

當安裝了Oracle資料庫和ODAC後,用PL\SQL dev可以正常連線資料庫,但是在SQLplus中連線時會提示"ORA-12560:TNS:協議介面卡錯誤",解決此問題的方法為:將環境變數path中的dbhome_1\BIN放到client_1\bin的前面即可,即將圖

使用rman備份到掛載的NFS目錄提示ORA-19504-27054報錯

使用rman備份到掛載的nfs目錄提示方案一:一、在AIX下掛載NFS後,手動運行rman備份腳本報錯信息如下:RMAN-03009: failure of backup command on ch1 channel at 05/05/2014 19:07:05ORA-19504: failed to cre

JAVA中操作CLOB大對象 提示ORA-01704字符串文字太長

CLOB ORACEL java 分析:在ORACEL中大文本的不能直接插入,是因為oracle會將clob自動轉為String,當文本字節超出4000字節,提示字符太長。備註: GBK編碼:一個漢字占兩個字節。 UTF-16編碼:通常漢字占兩個字節,CJKV擴展B區、擴展C區、擴展D區中的漢字占

刪除OGG使用者的時候提示ORA-00604,ORA-20782,ORA-06512等錯誤

之前有一環境配置了OGG,現在做測試,需要把之前的OGG相關資訊幹掉。 在刪除ogg帳號的時候,發現提示有一些錯誤 [email protected]>drop user ggs cascade; drop user ggs cascade * ERROR at line

用scott賬戶在PL/SQL中連線Oracle的時候提示ORA-28000: the account is locked

第一步:在%ORACLE_HOME%NETWORK\ADMIN目錄中找到sqlnet.ora檔案,其中%ORACLE_HOME%為oracle的安裝路徑。 我的為:D:\app\haojiec\product\11.2.0\dbhome_1\NETWORK\ADMIN,開啟sqlnet.ora,

mybatis批量分批次插入oracle資料庫ORA-01745: 無效的主機/繫結變數名...

方法一:迴圈呼叫插入單條記錄的方法,效率真心讓人捉急 (3萬條資料,快三分鐘)     public int saveGwghidlist1(List<Gwghid> list) {                  int xh=0;         dele

ACMNO.25 C語言-間隔輸出 寫一函式輸入一個四位數字要求輸出這四個數字字元但每兩個數字間空格。如輸入1990應輸出"1 9 9 0"。 輸入 一個四位數 輸出 增加空格輸出

題目描述 寫一函式,輸入一個四位數字,要求輸出這四個數字字元,但每兩個數字間空格。如輸入1990,應輸出"1 9 9 0"。 輸入 一個四位數 輸出 增加空格輸出 樣例輸入 1990 樣例輸出 1 9 9 0 來源/分類 C語言

我想建立100G表空間提示ORA-01144: File size (13107200 blocks) exceeds maximum of 4194303 blocks 最大4194303 blo

並不是100g的表空間,是100g的資料檔案。一般情況下,單個數據檔案的最大為32g。 解決方法: 1、建立多個數據檔案,都不能超過32g 2、建立大表空間。create bigfile tablespace  他的上

啟動Oracle11R2資料庫提示ORA-03113: 通訊通道的檔案結尾的解決方案

SQL> startup; ORA-01031: insufficient privileges SQL> connect /as sysdba; 已連線到空閒例程。 SQL> startup; ORACLE 例程已經啟動。 Total System Gl

oracle刪除資料庫提示ora-01031:許可權不足

用system管理員身份刪除資料庫,總是提示許可權不足,如下圖所示 用如下兩部解決了問題,特此記錄一下 1.找到sqlnet.ora,我本地的目錄在 E:\app\sunpi\product\11.2.0\dbhome_1\NETWORK\ADMIN\