使用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\