字串本身重複字元的檢查辦法
我們知道,要拼接一個字元不重複的字串比較方便,只要用類似下面的辦法即可:
數字不重複(9位)拼接辦法:
select replace(sys_connect_by_path(l, ','), ',')
from (select level l from dual connect by rownum <= 9)
where level = 9
connect by nocycle prior l <> l
但要反過來說,要校驗字串中是否存在重複的字元(不管連續的還是不連續的),好像還沒有一個好的辦法來實現。
今天一個同事來問我這個問題,我想起來原來也考慮過這個問題,但一直沒有解決。這次考慮了下,搞了一個解決方案出來(辦法不是很巧妙,因為在原理上,還是用distinct這個辦法來實現的)。
先貼出來,待以後看下是否有更好的解決辦法:
create table tmp_strlen9 as
select dbms_random.string('l',9) str from dual connect by rownum <= 100000;
select *
from tmp_strlen9 a,
table(cast(multiset (select count(distinct substr(str, rownum, 1))
from dual
connect by rownum <= length(str)) as
sys.odcinumberlist)) b
where b.column_value <> 9
查了下,效率也還可以。10w資料篩選1.7s count出來。
數字不重複(9位)拼接辦法:
select replace(sys_connect_by_path(l, ','), ',')
from (select level l from dual connect by rownum <= 9)
where level = 9
connect by nocycle prior l <> l
但要反過來說,要校驗字串中是否存在重複的字元(不管連續的還是不連續的),好像還沒有一個好的辦法來實現。
今天一個同事來問我這個問題,我想起來原來也考慮過這個問題,但一直沒有解決。這次考慮了下,搞了一個解決方案出來(辦法不是很巧妙,因為在原理上,還是用distinct這個辦法來實現的)。
先貼出來,待以後看下是否有更好的解決辦法:
create table tmp_strlen9 as
select dbms_random.string('l',9) str from dual connect by rownum <= 100000;
select *
from tmp_strlen9 a,
table(cast(multiset (select count(distinct substr(str, rownum, 1))
from dual
connect by rownum <= length(str)) as
sys.odcinumberlist)) b
where b.column_value <> 9
查了下,效率也還可以。10w資料篩選1.7s count出來。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-1872429/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript 刪除字串重複字元JavaScript字串字元
- 重複輸出字元或字串字元字串
- 最長不含重複字元的子字串字元字串
- JavaScript刪除字串中重複的字元JavaScript字串字元
- 查詢字串中第一個非重複字元的3種方法字串字元
- JavaScript刪除字串中重複字元JavaScript字串字元
- JavaScript統計字串中重複字元的個數JavaScript字串字元
- 獲取字串中重複次數最多的字元字串字元
- 求字串中不含重複字元的最長子串字串字元
- javascript刪除字串重複字元程式碼例項JavaScript字串字元
- 輸入一段字串,去除字串中重複的字元,並輸出字串字元
- 前端 JavaScript 獲取字串中重複次數最多的字元前端JavaScript字串字元
- JZ-073-最長不含重複字元的子字串字元字串
- 劍指 Offer 48. 最長不含重複字元的子字串字元字串
- 重複的子字串字串
- AJAX防重複提交的辦法總結
- Leetcode[字串] 3. 無重複字元的最長子串 10行極簡寫法!LeetCode字串字元
- 面試有關字串中字元出現重複字元的面試問題,這裡都有了面試字串字元
- leetcode無重複字元的最長字串 python實現LeetCode字元字串Python
- 查重字串字串
- 如何識別字串中含有連續字元的處理辦法字串字元
- 檢查陣列中是否有重複項陣列
- SAP SU53許可權檢查時不能複製的解決辦法
- 第五章 字串專題 ---------------- 5.1 題解:判斷字串有無重複字元字串字元
- JavaScript 刪除重複字元JavaScript字元
- IE6 重複字元的bug字元
- js去除重複字串JS字串
- 重複列印字串字串
- leetcode 劍指 Offer 48. 最長不含重複字元的子字串LeetCode字元字串
- 無重複字元的最長子串字元
- 無重複字元的最長子串問題 (移動視窗法求解)字元
- 第三季6.5排序(單個字串不包含重複字元)排序字串字元
- 無重複字串的排列組合字串
- 字串查詢之字元次數字串字元
- YTUOJ-重複字串字串
- pt-duplicate-key-checker檢查資料庫的重複索引資料庫索引
- YII GET方式引數重複/疊加的解決辦法
- java無重複字元的最長子串Java字元