查詢字串中連續出現的字元
根據使用者需求需要查詢字串中連續出現的字元
如'mn,asdfs,opq,dfasf,abc,asdlfj,defg' 'DF,RST',要求找出兩個字串中連續出現的字元
這裡兩個字串資料相當於表中的兩行資料,具體資料用sql構造。對於這種需求的sql主要涉及兩塊,一個是如何找出字串中被,號
分割的字元。一個是如何判斷字元是連續的字元。
1 找出字串中所有被,號分割出的字元
SELECT regexp_substr(teststr,'[^,]+',1,level) teststr
FROM (
SELECT 'mn,asdfs,opq,dfasf,abc,asdlfj,defg' teststr
,1 id1
FROM dual
UNION ALL
SELECT 'DF,RST' teststr
,2 id1
FROM DUAL) t
connect by level <20
AND PRIOR id1 = id1
AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL;
這裡第一行資料和第二行資料明顯產生遞迴關係,因此需要PRIOR id1 = id1 來過濾不必要的遞迴步驟
2 而查詢字元是否連續的,可以用如下sql查詢出所有字元的組合
select ss
from (select replace(sys_connect_by_path(c, ','), ',') ss
from (select rownum i, chr(65 + rownum - 1) c
from dual
connect by rownum <= 26)
connect by prior i = i - 1)
where length(ss) >= 2;
3 最後用分割出的每個字元單元和連續字元的組合判斷,查詢出所有屬於連續字元的資料即所要結果
select teststr,
regexp_substr(upper(teststr), '[A-Z]{2,10}') reqstr
from ( SELECT regexp_substr(teststr,'[^,]+',1,level) teststr
FROM (
SELECT 'mn,asdfs,opq,dfasf,abc,asdlfj,defg' teststr
,1 id1
FROM dual
UNION ALL
SELECT 'DF,RST' teststr
,2 id1
FROM DUAL) t
connect by level <20
AND PRIOR id1 = id1
AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL
)
where regexp_substr(upper(teststr), '[A-Z]{2,10}') in
(select ss
from (select replace(sys_connect_by_path(c, ','), ',') ss
from (select rownum i, chr(65 + rownum - 1) c
from dual
connect by rownum <= 26)
connect by prior i = i - 1)
where length(ss) >= 2);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750077/viewspace-2061742/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 31:字串中最長的連續出現的字元字串字元
- ASP.NET從字串中查詢字元出現次數的方法ASP.NET字串字元
- 字串查詢之字元次數字串字元
- Python中查詢字串某個字元最常用的方法!Python字串字元
- js查詢字串中字元最多的單詞JS字串字元
- jdbc如何連續查詢?JDBC
- 求出現在字串1而沒有出現在字串2中的字元字串字元
- C++字串處理的一個例子:1.查詢一個字元在字串中第n次出現的位置。2分割字串C++字串字元
- ORACLE中查詢出姓名列中 含有非漢字的字元Oracle字元
- 查詢字串中第一個非重複字元的3種方法字串字元
- 如何獲取字串中相同字元出現的次數字串字元
- 統計字串中某個字元出現的次數字串字元
- 查詢檔案中的控制字元(轉)字元
- 如何識別字串中含有連續字元的處理辦法字串字元
- 獲得String字串中某個字元出現的次數字串字元
- js如何將字串中的字元逐字輸出JS字串字元
- 尋找連續或不連續的子字串字串
- js如何查詢字元處中第一個不重複的字元JS字元
- (字串雜湊表)找到字串中不重複出現字元的最長子串長度字串字元
- 查詢表中的連結行
- SQL查詢連續號碼段的解法(例項)SQL
- 轉 SQL查詢連續號碼段的巧妙解法SQL
- 在字串中,尋找第一個只出現一次的字元字串字元
- JavaScript統計字串中字元出現次數JavaScript字串字元
- 如何計算字串某個字元出現的次數字串字元
- 字串查詢(字串雜湊)字串
- 集合框架-統計字串中每個字元出現的次數案例圖解框架字串字元圖解
- SQL 如何查詢連續上漲 N 次的記錄SQL
- 學習-SQL查詢連續號碼段的巧妙解法SQL
- 一個字串中某一個字元第n次出現的位置的函式字串字元函式
- MySql中的資料查詢語言(DQL)三:連線查詢MySql
- c++字串查詢函式實現C++字串函式
- 輸入一段字串,去除字串中重複的字元,並輸出字串字元
- 集合框架-統計字串中每個字元出現的次數案例程式碼實現框架字串字元
- 第二章 :查詢與排序-------2.18題目講解_在有空字串中的有序字串陣列中查詢排序字串陣列
- 利用HashMap統計字串各個字元出現的次數HashMap字串字元
- ncurses輸出函式:字元+字串的輸出函式字元字串
- python怎麼查詢字串中是否包含某個字串Python字串