oracle的分頁顯示 字串擷取

2022-04-09 02:48:35 字數 1477 閱讀 4657

1.oracle 分頁查詢

參考:>>>>>>>>>>>>>>>>>無order by情況下<<<<<<<<<<<<<<<<<<<

select * from user where rownum >=3 and rownum <=4;

oracle機制是第一條行號資料不符=3,去掉,原來的第

二行變為第一行,行號還是為1,一直不符合

select id,name from(

select rownum rn,u.* from user u)ua

where ua.rn between 3 and 4;

將行號查詢出來生成乙個結果集ua,然後在這個結果集中選擇

行號大於我們設定的那個值

select id,name from(

select rownum rn,u.* from user u where rownum <= 4) ua

where ua.rn >=3 ;

優化!>>>>>>>>>>>>>>>有order by情況下<<<<<<<<<<<<<<<<<<<<<

select id,name from (

(select rownum rn,uo.* from

(select * from user u order by name)uo

where rownum <=4)) ua

where ua.rn >=3;

2.oracle 字串擷取函式

substr 擷取子串 instr 獲取子字串的位置 注意:!!!substr開始位置從0 instr開始位置從1

通常二者結合使用

例:選取"c3411.907w15"字串中"."後的字串

substr("c3411.907w15",instr("c3411.907w15",'.',1,1)+1)

substr("源字串",開始位置,選取長度)

instr("源字串","子字串",開始位置,第幾次出現)

for example:

substr("abcdefg", 0); //返回:abcdefg,擷取所有字元

substr("abcdefg", 2); //返回:cdefg,擷取從c開始之後所有字元

substr("abcdefg", 0, 3); //返回:abc,擷取從a開始3個字元

substr("abcdefg", 0, 100); //返回:abcdefg,100雖然超出預處理的字串最長度,但不會影響返回結果,系統按預處理字串最大數量返回。

substr("abcdefg", -3); //返回:efg,注意引數-3,為負值時表示從字串末尾開始查詢,字串排列位置不變。

3.oracle 遞迴查詢

參考:select * from table

start with 條件一

connect by prior id=parent_id;遞迴父節點查詢/遞迴子節點查詢connect by id = prior parent_id;

C 巧截字串的數字

原理 在程式中擷取字串中的數字時,可以先使用charenumerator物件的movenext方法迴圈訪問字串中的每個字元,並將字元用system.text.encoding類中ascii編碼方式的getbytes方法進行編碼,然後判斷經過編碼之後的字元的ascii碼值是否介於48和57之間,如果是...

JAVA字串分頁

最近搞乙個新聞系統,有些文章過於長,所以領導要求乙個新聞的內容分頁,其實就是長字串分頁!上網找了找,自己改了改 做個記錄 如下 public class stringpager 返回當前頁的字串.return public string getcurrentpagedtext else if get...

自定義截字串方法

問題描述 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如 我abc 4,應該截為 我ab 輸入 我abc漢def 6,應該輸出為 我abc 而不是 我abc 漢的半個 解決方法 對輸入的字串進行遍歷,若為雙位元組則長度為2,若為單位元組則長度...