ORACLE中,怎么用SQL语句查询一个电话号码中含有连续7个字符都为“1”或者连续8个字符都为“1”的值
如:有表A,有2个字段,分别为NAME,TELNAMETEL张三1301111111932李四15920203911王五1391111111102张柳0292222222...
如:有表A,有2个字段,分别为NAME,TEL
NAME TEL
张三 1301111111932
李四 15920203911
王五 1391111111102
张柳 029222222213
第二 291111119233
输出结果为:
张三 1301111111932
王五 1391111111102
因为“第二”只有6个连续字符“1”所以结果中不输出 展开
NAME TEL
张三 1301111111932
李四 15920203911
王五 1391111111102
张柳 029222222213
第二 291111119233
输出结果为:
张三 1301111111932
王五 1391111111102
因为“第二”只有6个连续字符“1”所以结果中不输出 展开
4个回答
2013-07-23
展开全部
CREATE TABLE test(
NAME varchar(10),
TEL varchar(20)
);
INSERT INTO test VALUES('张三', '1301111111932');
INSERT INTO test VALUES('李四', '15920203911');
INSERT INTO test VALUES('王五', '1391111111102');
INSERT INTO test VALUES('张柳', '029222222213');
INSERT INTO test VALUES('第二', '291111119233');
如果你只查询 连续 7个1 的
那就是简单的
SQL> SELECT
2 *
3 FROM
4 test
5 WHERE
6 TEL LIKE '%1111111%';
NAME TEL
-------------------- ----------------------------------------
张三 1301111111932
王五 1391111111102
如果你是要模糊的查询 连续7个 任意数字的, 也就是 7个1 , 或者 7个2 , 或者 7个3...
SQL> SELECT
2 *
3 FROM
4 test
5 WHERE
6 REGEXP_LIKE(REVERSE(TEL), '(\d)\1\1\1\1\1\1');
NAME TEL
-------------------- ----------------------------------------
张三 1301111111932
王五 1391111111102
张柳 029222222213
展开全部
这个昨天不是回答了?正则表达式 你还问
http://zhidao.baidu.com/question/572628391?&oldq=1#answer-1441843378
只不过你没有选我的答案而已
http://zhidao.baidu.com/question/572628391?&oldq=1#answer-1441843378
只不过你没有选我的答案而已
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from a where tel like '%1111111%';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用like '%1111111%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询