MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでsoundex()をクエリする方法は?


SOUNDEX()はsoundex文字列を返します。ほぼ同じように聞こえる2つのストリングは、同じsoundexストリングを持つ必要があります

MySQLでsoundex()をクエリするには、次の構文を使用できます-

select *from yourTableName where soundex(yourValue)=soundex(yourColumnName);

まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(20),
   LastName varchar(20)
   );
Query OK, 0 rows affected (0.28 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(FirstName,LastName) values('Adam','Smith');
Query OK, 1 row affected (0.04 sec)

mysql> insert into DemoTable(FirstName,LastName) values('David','Miller');
Query OK, 1 row affected (0.07 sec)

mysql> insert into DemoTable(FirstName,LastName) values('Carol','Taylor');
Query OK, 1 row affected (0.06 sec)

mysql> insert into DemoTable(FirstName,LastName) values('Chris','Brown');
Query OK, 1 row affected (0.06 sec)

mysql> insert into DemoTable(FirstName,LastName) values('John','Smith');
Query OK, 1 row affected (0.07 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
| 1  | Adam      | Smith    |
| 2  | David     | Miller   |
| 3  | Carol     | Taylor   |
| 4  | Chris     | Brown    |
| 5  | John      | Smith    |
+----+-----------+----------+
5 rows in set (0.00 sec)

以下は、MySQLでのsoundex()のクエリです。

mysql> select *from DemoTable where soundex('Smith')=soundex(LastName);

これにより、次の出力が生成されます-

+----+-----------+----------+
| Id | FirstName | LastName |
+----+-----------+----------+
| 1  | Adam      | Smith    |
| 5  | John      | Smith    |
+----+-----------+----------+
2 rows in set (0.00 sec)

  1. MySQLでタイプをBigIntにキャストするにはどうすればよいですか?

    CONV()関数と一緒にCAST演算子を使用する必要があります。 CONV()関数を使用して、ある基数システムを別の基数システムに変換できます。 たとえば、16は1つの基本システムで、10は別の基本システムです。 16基数システムは16進数で、10は10進数です。 構文は次のとおりです- SELECT CAST(CONV('yourColumnName',16,10) AS UNSIGNED INTEGER) as anyAliasName FROM yourTableName; 上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のと

  2. MySQLでサブクエリを正しく囲む方法は?

    かっこでサブクエリを閉じる必要があります。構文は次のとおりです- select if((select count(*) from yourTableName ),'Yes','No') as anyAliasName; 上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです- mysql> create table SelectIfDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar