MySQLでは、SOUNDS LIKEを使用できます 指定された単語のように聞こえる結果を返す演算子。
この演算子は、英語の文字列で最適に機能します(他の言語で使用すると、信頼性の低い結果が返される場合があります)。
構文
構文は次のようになります:
expr1 SOUNDS LIKE expr2
ここで、expr1 およびexpr2 比較される入力文字列です。
この演算子は、次のことを行うのと同じです。
SOUNDEX(expr1) = SOUNDEX(expr2)
例1-基本的な使用法
SELECTでこの演算子を使用する方法の例を次に示します。 ステートメント:
SELECT 'Damn' SOUNDS LIKE 'Dam';
結果:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Dam' | +--------------------------+ | 1 | +--------------------------+
この場合、戻り値は1です。 これは、2つの入力文字列が同じように聞こえることを意味します。
入力文字列がない場合は次のようになります。 似たような音:
SELECT 'Damn' SOUNDS LIKE 'Cat';
結果:
+--------------------------+ | 'Damn' SOUNDS LIKE 'Cat' | +--------------------------+ | 0 | +--------------------------+
例2– SOUNDEX()との比較
ここでは、SOUNDEX()と比較されています :
SELECT
'Damn' SOUNDS LIKE 'Dam' AS 'SOUNDS LIKE',
SOUNDEX('Dam') = SOUNDEX('Damn') AS 'SOUNDEX()'; 結果:
+-------------+-----------+ | SOUNDS LIKE | SOUNDEX() | +-------------+-----------+ | 1 | 1 | +-------------+-----------+
例3–データベースの例
データベースクエリ内でこの演算子を使用する方法の例を次に示します。
SELECT ArtistName FROM Artists WHERE ArtistName SOUNDS LIKE 'Ay See Dee Ci';
結果:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+
そしてここではSOUNDEX()を使用しています :
SELECT ArtistName FROM Artists
WHERE SOUNDEX(ArtistName) = SOUNDEX('Ay See Dee Ci'); 結果:
+------------+ | ArtistName | +------------+ | AC/DC | +------------+