我有這樣的表:
| 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%'
uj5u.com熱心網友回復:
您的正確名稱中有一個空格字符,因此不正確的名稱中沒有空格:
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;
uj5u.com熱心網友回復:
您的示例顯示“無效名稱”是包含數字的名稱。如果是這樣,對于示例資料
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>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/331619.html
上一篇:創建postgresql存盤程序
