我有一個像“John Carter”這樣的記錄,兩個名字之間有空格。現在我想在沒有空格的 WHERE 條件(如 (WHERE NAME="JohnCarter") )的幫助下搜索單詞,但由于空間敏感性查詢回傳錯誤,所以有什么解決方案可以避免這種空間敏感性。
| ID | 姓名 |
|---|---|
| 1 | 約翰卡特 |
| 2 | 羅西·福斯特 |
$name='約翰卡特'; $result=mysqli_query($con,"SELECT * FROM profileWHERE name='$name'"); if(mysqli_num_rows($result)>0){ echo 'true';}else{echo 'false'}
uj5u.com熱心網友回復:
這似乎是使用 soundex 函式的理想情況。MySQL內置了這樣一個函式:
mysql> select soundex('John Carter'), soundex('JhonCarter');
------------------------ -----------------------
| soundex('John Carter') | soundex('JhonCarter') |
------------------------ -----------------------
| J52636 | J52636 |
------------------------ -----------------------
也可以看看:
- https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_soundex
- https://en.wikipedia.org/wiki/Soundex
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/521041.html
標籤:mysqlsql空白
