字串轉換為數字時判斷非法字元並校正
--首先判斷哪些為不符合數字格式的字串
CREATE OR REPLACE FUNCTION "HLJHZ"."FUN_NOTVALID" (MYARG IN VARCHAR2)
RETURN VARCHAR2
AS
v_count number(10);
v_number varchar2(30);
v_char number;
C_NOTVALID varchar2(10) :='非法';
not_valid exception;
pragma exception_init(not_valid,-01722);
BEGIN
select to_number(MYARG) into v_char from dual;
return ('合法');
exception
when not_valid then
RETURN(C_NOTVALID);
END;
/
--將不符合數字格式的字串轉換為符合數字格式的字串,然後再使用to_number函式轉換即可
CREATE OR REPLACE FUNCTION "HLJHZ"."FUN_CHAR_NUMBER" (MYARG IN VARCHAR2)
RETURN VARCHAR2
AS
v_count number(10);
v_number varchar2(30);
v_valid number;
v_char varchar2(30);
not_valid exception;
pragma exception_init(not_valid,-01722);
BEGIN
if MYARG='-' then
select '0' into v_char from dual;
else select MYARG into v_char from dual;
end if;
select to_number(v_char) into v_valid from dual;
return (v_char);
exception
when not_valid then
--對包含不符合數字格式的字串進行逐一處理,如果遇到新的不合法的情況需要補充
select trim(v_char) into v_char from dual;
select TRANSLATE(v_char,',。、萬元','.') into v_char from dual;
select substr(v_char,1,instr(v_char,'.',1,1))||
replace(substr(v_char,instr(v_char,'.',1,1)+1),'.','') into v_char from dual;
select replace(v_char,' ','') into v_char from dual;
select replace(v_char,'-','-') into v_char from dual;
select replace(v_char,'—','-') into v_char from dual;
select substr(v_char,1,instr(v_char,'-',1,1))||
replace(substr(v_char,instr(v_char,'-',1,1)+1),'-','') into v_char from dual;
select replace(v_char,'0-','-') into v_char from dual;
RETURN(v_char);
END;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28803801/viewspace-768148/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 判斷迴文串 字串/數字相互轉換字串
- 判斷字串中出現最多的字元,並統計次數字串字元
- 【轉】Java中判斷字串是否為數字的五種方法Java字串
- java判斷輸入的字串是否為數字Java字串
- Thymeleaf將字串轉換為數字字串
- Octave 數字轉字元,連線兩個字串,以及如何將字串轉換為變數名稱字元字串變數
- isAlnum判斷字元是否為字母數字字元(字母和數字都屬於字母數字字元)字元
- Python判斷字串是否為字母或者數字(浮點數)Python字串
- javascript如何將字串轉換為數字JavaScript字串
- c++中字元、字串和數字間的轉換C++字元字串
- 在Oracle中,如何判斷一個字串是否為數字?Oracle字串
- 能夠判斷非法字元的正規表示式字元
- PHP資料型別轉換(字元轉數字,數字轉字元)PHP資料型別字元
- C++將數字轉為字串,並拼接C++字串
- mysql 字串和數字比,字串會隱式轉換為數字0MySql字串
- jquery過濾特殊字元及js字串轉為數字jQuery字元JS字串
- JavaScript字串轉換數字JavaScript字串
- c++判斷字串全是字母或數字C++字串
- 數值轉換為字元字元
- 如何判斷一個字串是否為純數字的問題,當然也可以判斷一個字串是否為純字母字串
- js判斷引數是否為非數字JS
- postgresql判斷是否為數字的方法SQL
- C#判斷輸入為數字C#
- js判斷字串中是否含有指定字元JS字串字元
- javascript判斷字串是以指定字元開頭JavaScript字串字元
- JS判斷字串長度(英文佔1個字元,中文漢字佔2個字元)JS字串字元
- 將字串轉為數字字串
- js面試題-找出字串中的數字,並替換為*JS面試題字串
- 判斷是否為迴文字元字元
- 判斷字串是否為空字串
- 判斷字串為空方法字串
- js利用Number()函式將字串轉換為數字JS函式字串
- js將字串轉換為數字程式碼例項JS字串
- C#字串轉換為數字的4種方法C#字串
- 2020-11-13整數轉換為字串 字元反轉字串字元
- Java如何將字串轉換為字元陣列?Java字串字元陣列
- 字元判斷字元
- javascript數字和字串相互轉換JavaScript字串