在itpub看到一贴子,要求取出表中某个列上所有位置相同数值的记录。如
表 num_test中,有以下记录:
insert into num_test values('11111');
insert into num_test values('2222');
insert into num_test values('33333');
insert into num_test values('11411');
insert into num_test values('16711');
insert into num_test values('18231');
insert into num_test values('666');
commit;
要取出11111,2222,33333,666这几行记录。收集了下贴中几种巧秒的方法,如下:
测试数据初始化如下:
方法一:
方法二:
方法三:
方法四:
表 num_test中,有以下记录:
insert into num_test values('11111');
insert into num_test values('2222');
insert into num_test values('33333');
insert into num_test values('11411');
insert into num_test values('16711');
insert into num_test values('18231');
insert into num_test values('666');
commit;
要取出11111,2222,33333,666这几行记录。收集了下贴中几种巧秒的方法,如下:
测试数据初始化如下:
点击(此处)折叠或打开
- SQL> create table num_test(
- 2 num_name number
- 3 );
-
- 表已创建。
-
- SQL> insert into num_test values(\'11111\');
-
- 已创建 1 行。
-
- SQL> insert into num_test values(\'2222\');
-
- 已创建 1 行。
-
- SQL> insert into num_test values(\'33333\');
-
- 已创建 1 行。
-
- SQL> insert into num_test values(\'11411\');
-
- 已创建 1 行。
-
- SQL> insert into num_test values(\'16711\');
-
- 已创建 1 行。
-
- SQL> insert into num_test values(\'18231\');
-
- 已创建 1 行。
-
- SQL> insert into num_test values(\'666\');
-
- 已创建 1 行。
-
- SQL> commit;
-
- 提交完成。
-
- SQL> select * from num_test;
-
- NUM_NAME
- ----------
- 11111
- 2222
- 33333
- 11411
- 16711
- 18231
- 666
-
- 已选择7行。
点击(此处)折叠或打开
- SQL> select * from num_test where replace(num_name,substr(num_name,1,1),\'\') is null;
-
- NUM_NAME
- ----------
- 11111
- 2222
- 33333
- 666
方法二:
点击(此处)折叠或打开
- SQL> select * from num_test where mod(num_name,lpad(\'1\',length(num_name),\'1\'))=0;
-
- NUM_NAME
- ----------
- 11111
- 2222
- 33333
- 666
点击(此处)折叠或打开
- SQL> select * from num_test where regexp_replace(num_name,\'(.)\\1+\') is null;
-
- NUM_NAME
- ----------
- 11111
- 2222
- 33333
- 666
点击(此处)折叠或打开
- SQL> select * from num_test where lpad(substr(num_name,1,1),length(num_name),substr(num_name,1,1))=num_name;
-
- NUM_NAME
- ----------
- 11111
- 2222
- 33333
- 666
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21251711/viewspace-1270048/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21251711/viewspace-1270048/