17,086
社区成员
发帖
与我相关
我的任务
分享
SQL> select * from test; --test表中内容如下
MC
------------------------------------------------------------
112233445566778899
22113344 5566778899
33112244 5566778899
44112233 5566 778899
5511 2233 4466778899
661122334455778899
771122334455668899
881122334455667799
991122334455667788
aabbccddee
bbaaaccddee
MC
------------------------------------------------------------
ccabbddee
ddaabbccee
eeaabbccdd
ab123
123xy
007ab
abcxy
The final test is is is how to find duplicate words.
aaaaaaaaaaaaaaa
已选择20行。
SQL> select * from test where regexp_like(mc,'^([a-z]+ ¦[0-9]+)$');
/*这里我觉得应该是表示所有小写字母或数字组合成的字符串 可为什么结果里只显示出了数字 而没有把纯小写字母的记录
显示出来呢?*/
MC
------------------------------------------------------------
112233445566778899
661122334455778899
771122334455668899
881122334455667799
991122334455667788
SQL> select * from test where regexp_like(mc,'^[[:lower:]] ¦[[:digit:]]');
/*看书上写的^比|的优先级高 所以这里个人觉得是选出以小写字母开头的记录或数字记录 可从结果上来看好像理解不太对 …… 麻烦各位解释一下*/
MC
------------------------------------------------------------
112233445566778899
22113344 5566778899
33112244 5566778899
44112233 5566 778899
5511 2233 4466778899
661122334455778899
771122334455668899
881122334455667799
991122334455667788
ab123
123xy
MC
------------------------------------------------------------
007ab
已选择12行。
SQL> Select mc FROM test Where REGEXP_LIKE(mc,'[^[:digit:]]');
/*不是说[[:digit:]]叫做字符簇吗 这里怎么还可以把^插夹到两个[[中间的?*/
MC
------------------------------------------------------------
22113344 5566778899
33112244 5566778899
44112233 5566 778899
5511 2233 4466778899
aabbccddee
bbaaaccddee
ccabbddee
ddaabbccee
eeaabbccdd
ab123
123xy
MC
------------------------------------------------------------
007ab
abcxy
The final test is is is how to find duplicate words.
aaaaaaaaaaaaaaa
已选择15行。
SQL> select * from test
2 minus
3 Select mc FROM test Where REGEXP_LIKE(mc,'[^[:digit:]]');
MC
------------------------------------------------------------
112233445566778899
661122334455778899
771122334455668899
881122334455667799
991122334455667788
SQL> insert into test values('bbbbbbbbbbbbbbb ');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test where regexp_like(mc,'^([a-z]+ ¦[0-9]+)$');
MC
------------------------------------------------------------
112233445566778899
661122334455778899
771122334455668899
881122334455667799
991122334455667788
bbbbbbbbbbbbbbb
已选择6行。