客戶編號分配中,PL/SQL型別自動轉換問題
plsql中,case when語句和decode存在類似的型別隱式轉換處理。
對映的值會根據第一個值的型別進行隱式轉換,也就是說,如果第一個值是數值型,
則後續也會轉換成數值型。因此,如果後面某個值是非數字值則會出現轉型錯誤。比如下面的情況:
declare
v_retval varchar2(100);
p_content varchar2(100) := '軍12312422';
p_dcval varchar2(100) := '-';
begin
v_retval := case length(p_content)
when 15 then mod(substr(p_content, 15, 1), 2)
when 18 then mod(substr(p_content, 17, 1), 2)
else p_dcval
end;
end;
會出現下面錯誤:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 9
因為前面兩個做了mod處理後,系統預設為是數值型值了。但是遇到p_dcval發現是'-',是非數字型
無法轉換,因此報錯。
對映的值會根據第一個值的型別進行隱式轉換,也就是說,如果第一個值是數值型,
則後續也會轉換成數值型。因此,如果後面某個值是非數字值則會出現轉型錯誤。比如下面的情況:
declare
v_retval varchar2(100);
p_content varchar2(100) := '軍12312422';
p_dcval varchar2(100) := '-';
begin
v_retval := case length(p_content)
when 15 then mod(substr(p_content, 15, 1), 2)
when 18 then mod(substr(p_content, 17, 1), 2)
else p_dcval
end;
end;
會出現下面錯誤:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 9
因為前面兩個做了mod處理後,系統預設為是數值型值了。但是遇到p_dcval發現是'-',是非數字型
無法轉換,因此報錯。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-714653/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server中datetimeset轉換datetime型別問題淺析SQLServer型別
- cgo 型別轉換問題??Go型別
- 日期型別轉換問題型別
- 小議SQL Server主鍵和自動編號問題SQLServer
- Guru of the week:#19 自動型別轉換. (轉)型別
- SQL Server資料庫中的資料型別隱式轉換問題SQLServer資料庫資料型別
- Java資料型別自動轉換(++ ,+=)Java資料型別
- sql server型別轉換SQLServer型別
- PL/SQL中char型別的暗門SQL型別
- PostgreSQL自定義自動型別轉換(CAST)SQL型別AST
- php之資料型別自動轉換PHP資料型別
- jivejdon中javax.mail.Session的型別轉換問題。JavaAISession型別
- C語言中資料型別的自動型別轉換C語言資料型別
- Pl/SQL 自定義型別SQL型別
- pl/sql記錄型別SQL型別
- pl/sql集合型別(一)SQL型別
- Double型別轉換成BigDicimal問題型別
- java基本資料型別與自動轉換Java資料型別
- JS直譯器之自動型別轉換:[]==![]JS型別
- 第二天:識別符號、賦值、資料型別、格式符、常量、自動轉換、強制轉換。符號賦值資料型別
- tp5.0 的模型型別轉換問題模型型別
- pl/sql集合型別_varray(二)SQL型別
- 「Oracle」客戶端 PL/SQL DEVELOPER 安裝使用Oracle客戶端SQLDeveloper
- C++中的向上型別轉換和向下型別轉換C++型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-使用者定義的PL/SQL子型別SQL資料型別
- 無題號 分配問題 題解
- Java註釋,識別符號,資料型別,型別轉換Java符號資料型別
- 利用符號進行的型別轉換,轉換成數字型別 ~~符號型別
- 小計:引用型別記憶體分配問題型別記憶體
- Struts2日期型別轉換問題???型別
- c語言運算過程中的型別自動轉換原則C語言型別
- java中的型別轉換Java型別
- PL/SQL 中如何正確選擇遊標型別SQL型別
- 在PL/SQL中使用日期型別SQL型別
- PL/SQL複合資料型別SQL資料型別
- pl/sql的HomeEnd問題SQL
- SQL語句 實現自動編號功能SQL
- PHP 型別轉換&&型別強制轉換PHP型別