[英]SELECT DISTINCT incorrect name
我有这样的表:
ID | 全名 |
---|---|
1 | 乔查尔 |
2 | 鲍勃·马夫 |
3 | 458 |
4 | 嗨789 |
5 | 凯特·米尔 |
6 | 33332263333226 |
我只想选择不正确的名称,如下所示:
ID | 全名 |
---|---|
3 | 458 |
4 | 嗨789 |
6 | 33332263333226 |
我是这么想的,这有多正确?
select * from table
where full_name like '%1%'
or full_name like '%2%'
or full_name like '%3%'
or full_name like '%4%'
or full_name like '%5%'
or full_name like '%6%'
您的正确名称中有一个空格字符,因此不正确的名称中没有空格:
SELECT *
FROM table
WHERE full_name NOT LIKE '% %'
或者,可能是当他们有一个数字字符时:
SELECT *
FROM table
WHERE REGEXP_LIKE(full_name, '\d');
或者,没有(慢)正则表达式:
SELECT *
FROM table
WHERE TRANSLATE(full_name, '0123456789', '----------' ) != full_name;
您的示例显示“无效名称”是包含数字的名称。 如果是这样,对于示例数据
SQL> select * from test;
ID FULL_NAME
---------- --------------
1 Joe Char
2 Bob Maff
3 458
4 hi789
5 Kate Mill
6 33332263333226
6 rows selected.
您可能正在使用的查询是
SQL> select *
2 from test
3 where regexp_instr(full_name, '\d') > 0;
ID FULL_NAME
---------- --------------
3 458
4 hi789
6 33332263333226
SQL>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.