您的位置:首頁技術文章
文章詳情頁

Oracle自定義函數:f_henry_GetStringLength

瀏覽:109日期:2023-11-19 19:25:34
Oracle下的Length()函數不能區分中英文,只能得到字符數而不能得到字節數,很多時候插入string到字段中時總要先進行一次檢查,防止string長度超過了字段定義的長度,一般大家都是把這個檢測放到應用程序中執行,用我寫的這個小函數就可以實現在數據庫服務器端對要插入的字段進行檢測。create or replace function f_henry_GetStringLength(pv_String in varchar2) return integer is Result integer; i number;begin Result:=0; if length(pv_String)=0 then return(Result); end if; for i in 1 .. length(pv_String) loop if ascii(substr(pv_String,i,1))<256 then Result:=Result+1; else Result:=Result+2; end if; end loop; return(Result);end f_henry_GetStringLength;/*************************以下是測試***************************/SQL> select length('啊$@oii發大幅') from dual;LENGTH('啊$@OII發大幅')----------------------- 9SQL> select f_henry_GetStringLength('啊$@oii發大幅') from dual;F_HENRY_GETSTRINGLENGTH('啊$@O------------------------------ 13
標簽: Oracle 數據庫
国产综合久久一区二区三区