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

MySQL SOUNDEX()関数をLIKE演算子で使用して、テーブルからレコードを取得するにはどうすればよいですか?


SOUNDEX()関数は、文字列の英語の発音の後に名前をインデックス付けするための音声アルゴリズムであるsoundexを返すために使用されることがわかっています。次の例では、「student_info」テーブルからデータを取得し、LIKE演算子を使用してSOUNDEX()関数を適用して、テーブルから特定のレコードを取得しています-

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101 | YashPal  | Amritsar   | History    |
| 105 | Gaurav   | Chandigarh | Literature |
| 125 | Raman    | Shimla     | Computers  |
+------+---------+------------+------------+
3 rows in set (0.00 sec)

mysql> Select * from student_info where SOUNDEX(Name) LIKE '%G%';
+------+--------+------------+------------+
| id   | Name   | Address    | Subject    |
+------+--------+------------+------------+
| 105  | Gaurav | Chandigarh | Literature |
+------+--------+------------+------------+
1 row in set (0.00 sec)

SOUNDEX()関数の引数として列の名前を使用しました。これにより、%G%のようなSOUNDEX値を持つ行が返されます。

SOUNDEX()関数の出力には、引数として渡された文字列の最初の文字が常に含まれることに注意してください。たとえば、SOUNDEX()関数の引数として「Ram」を渡して出力を確認すると、最初の文字として「R」が含まれます-

mysql> Select SOUNDEX('Ram');
+----------------+
| SOUNDEX('Ram') |
+----------------+
| R500           |
+----------------+
1 row in set (0.00 sec)

mysql> Select SOUNDEX('ram');
+----------------+
| SOUNDEX('ram') |
+----------------+
| R500           |
+----------------+
1 row in set (0.00 sec)

  1. '10/12/2010'のような日付形式からフェッチされた特定の年でテーブルのレコードを更新しますか?

    特定の年のレコードを更新するには、次の構文のようにYEAR()メソッドを使用します。 update yourTableName set yourColumnName1=yourValue1 where YEAR(str_to_date(yourColumnName2,'%d/%m/%Y'))=yourValue2; まずテーブルを作成しましょう- mysql> create table DemoTable1924    (    UserName varchar(20),    UserJoiningDate

  2. MySQLで日付レコードを持つテーブルの日付を変更するにはどうすればよいですか?

    日付を変更して年を追加する必要があるとします。このためには、DATE_ADD()とともにUPDATEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1984    (    ShippingDate date    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1984 values('2014