sql >> データベース >  >> RDS >> Mysql

SOUNDSLIKE演算子がMySQLでどのように機能するか

    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      |
    +------------+

    1. psycopg2を使用したpostgresqlDBの作成

    2. NULL値をテーブルの最後にソートします

    3. 番号へのoraclevarchar

    4. PHPの致命的なエラー:クラス'PDO'が見つかりません