データベースからsoundexに相当する姓を選択するmysqlクエリを作成しようとしています。PHP では、次の方法で soundex コードを作成しました。
$sxname = soundex($name);
そして、mysqlクエリを作成しました
$query = "SELECT *
FROM database
WHERE soundex(surname)
LIKE '$sxname'"
;
これは多くの姓では問題なく機能しますが、CAWS などの他の姓では機能しません。CAWS の php soundex の値は C200 ですが、mysql の値は C000 になります。
これらの違いに対する解決策はありますか?
私は関数を使用しようとしたので、両方ともphpで作成されました:
function mysql_soundex($name)
{
$snname = soundex($name);
return $snname;
}
そしてそれを呼び出します:
$query = "SELECT *
FROM database
WHERE mysql_soundex('surname')
LIKE '$sxname'"
;
しかし、それもうまくいきませんでした。