<nav id="qvmyt"><address id="qvmyt"></address></nav>
<pre id="qvmyt"></pre>
<u id="qvmyt"><listing id="qvmyt"></listing></u>


    <li id="qvmyt"><menuitem id="qvmyt"></menuitem></li>
    <li id="qvmyt"><source id="qvmyt"></source></li><progress id="qvmyt"><sub id="qvmyt"></sub></progress>
    <optgroup id="qvmyt"></optgroup>
  • 歡迎來到AD8000.CN 站長教程網!

    Oracle

    當前位置:主頁 > 數據庫 > Oracle >

    Oracle中instr和substr存儲過程詳解

    時間:2017-11-22|欄目:Oracle|點擊:

    instr和substr存儲過程,分析內部大對象的內容
    instr函數
    instr函數用于從指定的位置開始,從大型對象中查找第N個與模式匹配的字符串。
    用于查找內部大對象中的字符串的instr函數語法如下:
    dbms_lob.instr(
    lob_loc in blob, 
    pattern in raw, 
    offset in integer := 1;
    nth in integer := 1)
    return integer;
     dbms_lob.instr(
    lob_loc in clob character set any_cs,
    pattern in varchar2 character set lob_loc%charset,
    offset in integer:=1,
    nth in integer := 1)
    return integer;
     lob_loc為內部大對象的定位器
    pattern是要匹配的模式
    offset是要搜索匹配文件的開始位置
    nth是要進行的第N次匹配
     substr函數
    substr函數用于從大對象中抽取指定數碼的字節。當我們只需要大對象的一部分時,通常使用這個函數。
    操作內部大對象的substr函數語法如下:
    dbms_lob.substr(
     lob_loc in blob, 
     amount in integer := 32767,
     offset in integer := 1)
    return raw;
     dbms_lob.substr(
     lob_loc in clob character set any_cs, 
     amount in integer := 32767,
     offset in integer := 1)
    return varchar2 character set lob_loc%charset;
    其中各個參數的含義如下:
    lob_loc是substr函數要操作的大型對象定位器
    amount是要從大型對象中抽取的字節數
    offset是指從大型對象的什么位置開始抽取數據。
    如果從大型對象中抽取數據成功,則這個函數返回一個 raw 值。如果有一下情況,則返回null:
     1 任何輸入參數尾null
     2 amount < 1
     3 amount > 32767
     4 offset < 1
     5 offset > LOBMAXSIZE
    示例如下:
     declare 
     source_lob clob;
     pattern varchar2(6) := 'Oracle';
     start_location integer := 1;
     nth_occurrence integer := 1;
     position integer;
     buffer varchar2(100);
    begin
     select clob_locator into source_lob from mylobs where lob_index = 4;
     position := dbms_lob.instr(source_lob, pattern, start_location, nth_occurrence);
     dbms_output.put_line('The first occurrence starts at position:' || position);
     nth_occurrence := 2;
     select clob_locator into source_lob from mylobs where lob_index = 4;
     position := dbms_lob.instr(source_lob, pattern, start_location, nth_occurrence);
     dbms_output.put_line('The first occurrence starts at position:' || position);
     select clob_locator into source_lob from mylobs where lob_index = 5;
     buffer := dbms_lob.substr(source_lob, 9, start_location);
     dbms_output.put_line('The substring extracted is: ' || buffer);
    end;
    /
    The first occurrence starts at position:8
    The first occurrence starts at position:24
    The substring extracted is: Oracle 9i
    PL/SQL 過程已成功完成。

    上一篇:修改Oracle監聽默認端口號1521的方法

    欄    目:Oracle

    下一篇:通過sql準確查出一天數據的方法

    本文標題:Oracle中instr和substr存儲過程詳解

    本文地址:

    說點什么吧
    • 全部評論(0
      還沒有評論,快來搶沙發吧!

    廣告投放 | 聯系我們 | 版權申明

    重要申明:本站所有的文章、圖片、評論等,均由網友發表或上傳并維護或收集自網絡,屬個人行為,與本站立場無關。

    如果侵犯了您的權利,請與我們聯系,我們將在24小時內進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

    聯系QQ:215436232 | 郵箱:215436232#qq.com(#換成@)

    Copyright © 2020-2022 站長教程網 AD8000.CN 版權所有

    河北懦蟹装饰工程有限公司