oracle資料庫中的blob欄位轉成字串的函式:
1、utl_raw.cast_to_varchar2(blob_var)只支援blob長度小於2000的字段:
--mysql
select count(*) from score_news_online a where a.onlineflag=1 and trim(unhex(hex(a.onetitle)))=trim(unhex('d5aec8a8'))
and a.newstype='news_sc_newstype_yxdt' and (a.asstitle between '10000000' and '50000000')
--oracle
select count(*) from bp_winner_ticketphoto a where convert(utl_raw.cast_to_varchar2(a.photodata), 'utf8', 'zhs16gbk')='債權'
and a.newstype='news_hub_newstype_yxdt' and (a.asstitle between '10000000' and '50000000')
2、blob_to_varchar 自定義函式支援blob長度大於2000的字段:
--only for oracle 注意字段資料型別轉換
create or replace function blob_to_varchar (blob_in in blob) return varchar2
isv_varchar varchar2(4000);
v_start pls_integer := 1;
v_buffer pls_integer := 4000;
begin
if dbms_lob.getlength(blob_in) is null then
return '';
end if;
for i in 1..ceil(dbms_lob.getlength(blob_in) / v_buffer) loop
--當轉換出來的字串亂碼時,可嘗試用注釋掉的函式
--v_varchar := utl_raw.cast_to_varchar2(utl_raw.convert(dbms_lob.substr(blob_in, v_buffer, v_start),'simplified chinese_china.zhs16gbk', 'american_the netherlands.utf8'));
v_varchar := utl_raw.cast_to_varchar2(dbms_lob.substr(blob_in, v_buffer, v_start));
v_start := v_start + v_buffer;
end loop;
return v_varchar;
end blob_to_varchar;
字串轉成整數
實現atoi這個函式,將乙個字串轉換為整數。如果沒有合法的整數,返回0。如果整數超出了32位整數的範圍,返回int max 2147483647 如果是正整數,或者int min 2147483648 如果是負整數。該題目較為複雜,需要分類討論多種情況。題意為將字串中出現的第乙個完整的整數返回,包括...
整數轉成字串
1.使用itoa函式 char itoa int value char string,int radix 原型說明 value 欲轉換的資料。radix 轉換後的進製數,可以是2進製 8進製 10進製 16進製制等。exmaple include include int main void 2.不利...
dart轉成字串 Dart 字串型別
字串資料型別表示字串行。dart字串是由utf16編碼單元組成的序列。dart中的字串值可以用單引號 雙引號或三引號表示。單行字串用單引號或雙引號表示。三引號用於表示多行字串。在dart中表示字串值的語法如下所示 語法string variable name value orstring varia...